1 2009-09-01 Jian Li <jianli@chromium.org>
3 Reviewed by Dimitri Glazkov.
5 [V8] FileList cannot be accessed via index in Chromium.
6 https://bugs.webkit.org/show_bug.cgi?id=28883
8 Tested by clipboard-file-access.html.
11 * bindings/v8/V8DOMWrapper.cpp:
12 (WebCore::V8DOMWrapper::getTemplate):
13 * bindings/v8/custom/V8CustomBinding.h:
14 * bindings/v8/custom/V8FileListCustom.cpp: Added.
16 2009-08-31 Jon Honeycutt <jhoneycutt@apple.com>
18 Remove the workaround added in r47316.
20 Reviewed by Sam Weinig.
22 * accessibility/AXObjectCache.cpp:
23 (WebCore::AXObjectCache::AXObjectCache):
25 * accessibility/AXObjectCache.h:
26 Remove the Document argument to the AXObjectCache constructor and the
27 m_document member variable, and replace the no-parameter
28 handleFocusedUIElementChanged() with the two-parameter GTK function.
29 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
31 * accessibility/chromium/AXObjectCacheChromium.cpp:
32 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
34 * accessibility/gtk/AXObjectCacheAtk.cpp:
35 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
37 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
39 Don't pass a null Document when constructing the AXObjectCache.
41 * accessibility/mac/AXObjectCacheMac.mm:
42 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
44 * accessibility/win/AXObjectCacheWin.cpp:
45 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
46 Get the document from the RenderObject; m_document was removed.
49 (WebCore::Document::axObjectCache):
50 Don't pass the Document when constructing the AXObjectCache.
51 (WebCore::Document::setFocusedNode):
52 Pass the old and new focused RenderObjects when calling
53 handleFocusedUIElementChanged().
55 2009-09-01 Yury Semikhatsky <yurys@chromium.org>
57 Reviewed by Timothy Hatcher.
59 Check that InspectorDOMAgent and InspectorFrontend are not null
60 before accessing them in InspectorBackend. They may be null if
61 InspectorController is closed before an asynchronous operation is
64 https://bugs.webkit.org/show_bug.cgi?id=28800
66 * inspector/InspectorBackend.cpp:
67 (WebCore::InspectorBackend::getCookies):
68 (WebCore::InspectorBackend::getChildNodes):
69 (WebCore::InspectorBackend::setAttribute):
70 (WebCore::InspectorBackend::removeAttribute):
71 (WebCore::InspectorBackend::setTextNodeValue):
72 (WebCore::InspectorBackend::highlight):
73 (WebCore::InspectorBackend::nodeForId):
74 (WebCore::InspectorBackend::pushNodePathToFrontend):
75 (WebCore::InspectorBackend::addNodesToSearchResult):
76 (WebCore::InspectorBackend::selectDatabase):
77 (WebCore::InspectorBackend::selectDOMStorage):
78 (WebCore::InspectorBackend::inspectorDOMAgent):
79 (WebCore::InspectorBackend::inspectorFrontend):
80 * inspector/InspectorBackend.h:
82 2009-09-01 Brady Eidson <beidson@apple.com>
84 Reviewed by Sam Weinig.
86 Page Cache should support pages with frames
87 https://bugs.webkit.org/show_bug.cgi?id=13631
89 Things learned in the full task that this patch addresses:
90 - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that
91 needed to be managed separately.
92 - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
93 FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
94 will be guided by the CachedFrames themselves.
96 No new tests. (No change in behavior, current layout tests pass)
98 * history/CachedFrame.cpp:
99 (WebCore::CachedFrame::CachedFrame):
100 (WebCore::CachedFrame::~CachedFrame):
101 (WebCore::CachedFrame::clear): Only clear pointers out.
102 (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
103 occur simply by navigating back to a page with a CachedFrame.
104 * history/CachedFrame.h:
106 * history/CachedPage.cpp:
107 (WebCore::CachedPage::~CachedPage):
108 (WebCore::CachedPage::restore): Call clear() after restoring.
109 (WebCore::CachedPage::clear):
110 (WebCore::CachedPage::destroy):
111 * history/CachedPage.h:
113 * history/PageCache.cpp:
114 (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
115 instead of clearing them.
117 * loader/FrameLoader.cpp:
118 (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
119 (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
120 * loader/FrameLoader.h: Add the friending so CachedPage and CachedFrame can better guide the process.
121 Even though CachedFrame::restore() isn't used for now, it will be soon.
123 2009-09-01 Andrei Popescu <andreip@google.com>
125 Reviewed by David Levin.
127 Add a "lowMemoryNotification" method to the V8 ScriptController class.
128 This is needed in order to allow the host application (Android Web browser in this case)
129 to call the v8::V8::LowMemoryNotification() method added to V8 in
130 http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
132 https://bugs.webkit.org/show_bug.cgi?id=28776
135 * bindings/v8/ScriptController.cpp:
136 (WebCore::ScriptController::lowMemoryNotification):
137 * bindings/v8/ScriptController.h:
139 2009-09-01 Fumitoshi Ukai <ukai@chromium.org>
141 Reviewed by Adam Barth.
143 V8 Bindings for WebSocket API.
144 https://bugs.webkit.org/show_bug.cgi?id=28844
146 * bindings/v8/DOMObjectsInclude.h:
147 * bindings/v8/DerivedSourcesAllInOne.cpp:
148 * bindings/v8/V8DOMWrapper.cpp:
149 (WebCore::V8DOMWrapper::getTemplate):
150 (WebCore::V8DOMWrapper::convertToV8Object):
151 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
152 * bindings/v8/V8DOMWrapper.h:
153 * bindings/v8/V8Index.cpp:
154 * bindings/v8/V8Index.h:
155 * bindings/v8/WorkerContextExecutionProxy.cpp:
156 * bindings/v8/custom/V8CustomBinding.h:
157 * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
159 2009-09-01 Peter Kasting <pkasting@google.com>
161 Unreviewed (build fix).
163 Missed a "." -> "->" conversion.
165 * platform/graphics/qt/ImageDecoderQt.cpp:
166 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
168 2009-09-01 Peter Kasting <pkasting@google.com>
170 Unreviewed (build fix).
172 Try to fix Qt build, take 2. The Qt code had what looks like a
173 broken virtual function override.
175 * platform/graphics/qt/ImageDecoderQt.cpp:
176 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
177 (WebCore::ImageDecoderQt::setData):
178 * platform/graphics/qt/ImageDecoderQt.h:
180 2009-09-01 Adam Barth <abarth@webkit.org>
182 Reviewed by Sam Weinig.
184 Uninitialized variable in XSSAuditor
185 https://bugs.webkit.org/show_bug.cgi?id=28874
187 One ought to initialize variables before use even when it doesn't
188 matter. No behavior change.
191 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
193 2009-09-01 Peter Kasting <pkasting@google.com>
195 Unreviewed (build fix).
199 * platform/graphics/ImageSource.cpp:
201 2009-08-28 Peter Kasting <pkasting@google.com>
203 Reviewed by Eric Seidel.
205 https://bugs.webkit.org/show_bug.cgi?id=27965
206 Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
209 * platform/graphics/ImageSource.cpp:
210 (WebCore::ImageSource::frameHasAlphaAtIndex):
211 * platform/graphics/qt/ImageSourceQt.cpp:
212 (WebCore::ImageSource::createFrameAtIndex):
213 (WebCore::ImageSource::frameHasAlphaAtIndex):
214 (WebCore::ImageSource::frameIsCompleteAtIndex):
216 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
218 Reviewed by Timothy Hatcher.
220 WebInspector: Make InjectedScript self-contained (move necessary
221 methods from utilities.js into InjectedScript).
223 https://bugs.webkit.org/show_bug.cgi?id=28871
225 * inspector/front-end/ElementsPanel.js:
226 (WebInspector.ElementsPanel.prototype.generateStylesheet):
227 * inspector/front-end/InjectedScript.js:
228 (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
229 (InjectedScript._ensureCommandLineAPIInstalled):
230 (InjectedScript.pushNodeToFrontend):
231 (InjectedScript.createProxyObject):
233 (Object.hasProperties):
235 (String.prototype.escapeCharacters):
236 * inspector/front-end/utilities.js:
238 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
240 Reviewed by Timothy Hatcher.
242 WebInspector: console log message repeat count double.
244 https://bugs.webkit.org/show_bug.cgi?id=28856
246 * inspector/front-end/InjectedScript.js:
247 (InjectedScript._evaluateOn):
249 2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
251 Reviewed by Mark Rowe.
253 [Gtk] Fix DATALIST build
254 https://bugs.webkit.org/show_bug.cgi?id=28826
256 Add ENABLE_DATALIST to FEATURE_DEFINES.
260 2009-09-01 Cameron McCormack <cam@mcc.id.au>
262 Reviewed by Eric Seidel.
264 SVGSVGElement suspend methods argument/return types incorrect
265 https://bugs.webkit.org/show_bug.cgi?id=28860
267 Also fix the style of the argument names.
269 * svg/SVGSVGElement.cpp:
270 (WebCore::SVGSVGElement::suspendRedraw):
271 (WebCore::SVGSVGElement::unsuspendRedraw):
272 * svg/SVGSVGElement.h:
274 2009-09-01 Roland Steiner <rolandsteiner@google.com>
276 Reviewed by Eric Seidel.
278 Fix bug 28808: [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
279 (https://bugs.webkit.org/show_bug.cgi?id=28808)
281 The bug fix adds an explicit check for the validity of the path when it is
282 transformed into local coordinates.
283 This was the most suitable place I could find that didn't cause an inordinate
284 amount of refactoring. Also, it seems pertinent and may also catch other cases
285 that are not limited to clipping paths.
287 TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
289 * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
291 * platform/graphics/skia/PlatformContextSkia.cpp:
292 (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
294 2009-09-01 Yusuke Sato <yusukes@chromium.org>
296 Reviewed by Eric Seidel.
298 [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
299 https://bugs.webkit.org/show_bug.cgi?id=28742
301 Normalize (NFC) a TextRun when the run contains combining diacritical marks
302 so that Skia can pick a correct glyph without relying on GSUB table in a font.
303 This change is for Chromium Linux.
305 * platform/graphics/chromium/FontLinux.cpp:
306 (WebCore::TextRunWalker::getTextRun): Added.
307 (WebCore::TextRunWalker::getNormalizedTextRun): Added.
309 This function is called when the run contains U+0300..U+036F and converts characters in
310 the run to the combined form (NFC) using ICU.
312 2009-09-01 Vitaly Repeshko <vitalyr@chromium.org>
314 Reviewed by Dimitri Glazkov.
316 [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
317 V8Proxy::createWrapperFromCache.
318 https://bugs.webkit.org/show_bug.cgi?id=28848
320 * bindings/v8/V8DOMWrapper.cpp:
321 (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
322 function for document wrapping.
323 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
325 * bindings/v8/V8DOMWrapper.h:
326 (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
327 path from V8DOMWrapper.cpp.
328 * bindings/v8/V8Proxy.cpp:
329 (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
330 * bindings/v8/V8Proxy.h:
331 (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
334 2009-09-01 Eric Seidel <eric@webkit.org>
336 No review, windows build fix only. Clearly I should have read the patch closer. :(
338 Allow excluding certain plugins from loading
339 https://bugs.webkit.org/show_bug.cgi?id=28677
341 * plugins/PluginDatabase.cpp:
342 (WebCore::PluginDatabase::refresh):
344 2009-09-01 Alexander Pavlov <apavlov@chromium.org>
346 Reviewed by Timothy Hatcher.
348 Implement conditional breakpoints in the Web Inspector backend
349 and add frontend JavaScript stubs.
350 https://bugs.webkit.org/show_bug.cgi?id=28846
352 * inspector/InspectorBackend.cpp:
353 (WebCore::InspectorBackend::profiles):
354 (WebCore::InspectorBackend::addBreakpoint):
355 (WebCore::InspectorBackend::updateBreakpoint):
356 * inspector/InspectorBackend.h:
357 * inspector/InspectorBackend.idl:
358 * inspector/JavaScriptDebugServer.cpp:
359 (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
360 (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
361 (WebCore::JavaScriptDebugServer::addBreakpoint):
362 (WebCore::JavaScriptDebugServer::breakpointInfo):
363 (WebCore::JavaScriptDebugServer::updateBreakpoint):
364 (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
365 (WebCore::JavaScriptDebugServer::removeBreakpoint):
366 (WebCore::JavaScriptDebugServer::hasBreakpoint):
367 (WebCore::JavaScriptDebugServer::clearBreakpoints):
368 * inspector/JavaScriptDebugServer.h:
369 (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
370 * inspector/front-end/Breakpoint.js:
371 (WebInspector.Breakpoint):
372 (WebInspector.Breakpoint.prototype.get id):
373 (WebInspector.Breakpoint.prototype.get condition):
374 (WebInspector.Breakpoint.prototype.set condition):
375 * inspector/front-end/BreakpointsSidebarPane.js:
376 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
377 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
378 * inspector/front-end/ScriptsPanel.js:
379 (WebInspector.ScriptsPanel.prototype.addScript):
381 2009-09-01 Marius Renn <damarvy@gmail.com>
383 Reviewed by Eric Seidel.
385 Added delegate to PluginDatabase to disable loading certain plugins.
386 This is useful when you want to load from the standard plugin
387 directory, but want to exclude certain plugins. Plugins may be
388 excluded early on by name, so that no plugin code is executed (which
389 may have caused a crash).
391 * plugins/PluginDatabase.cpp:
392 (WebCore::PluginDatabase::PluginDatabase):
393 (WebCore::PluginDatabase::refresh):
394 * plugins/PluginDatabase.h:
395 (WebCore::PluginDatabase::setClient):
396 * plugins/PluginDatabaseClient.h: Added.
397 (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
399 2009-08-31 Brady Eidson <beidson@apple.com>
401 Rubberstamped by Sam Weinig
403 * WebCore.base.exp: Removed an unneeded symbol export.
405 2009-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
407 Reviewed by Alexey Proskuryakov.
409 https://bugs.webkit.org/show_bug.cgi?id=28466
410 When downloading a file, two GET requests are sent to the HTTP server
412 Can't think of a way to test this.
414 * loader/ResourceLoader.cpp:
415 (WebCore::ResourceLoader::releaseResources): only nullify the
416 handle's client when it is the ResourceLoader, to support the case
417 in which a download API uses a different client
419 2009-08-31 Brian Weinstein <bweinstein@apple.com>
421 Reviewed by Darin Adler.
423 Text Fields and Text Areas are reported as read-only by inspect32.exe.
424 https://bugs.webkit.org/show_bug.cgi?id=28854
426 Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
427 and texts areas are read-only.
429 * accessibility/AccessibilityRenderObject.cpp:
430 (WebCore::AccessibilityRenderObject::isReadOnly):
431 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
433 2009-08-31 Drew Wilson <atwilson@google.com>
435 Reviewed by Alexey Proskuryakov.
437 fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
438 https://bugs.webkit.org/show_bug.cgi?id=28795
440 Changed WorkerContext::close() to no longer stop the worker thread.
441 It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
443 * workers/AbstractWorker.cpp:
444 Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
445 * workers/DefaultSharedWorkerRepository.cpp:
446 (WebCore::SharedWorkerProxy::workerContextClosed):
447 Now shuts down the worker thread when notified that the context is closed.
448 (WebCore::SharedWorkerProxy::close):
449 Now handles being invoked when the context is already in the process of shutting down.
450 * workers/WorkerContext.cpp:
451 (WebCore::WorkerContext::close):
452 No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
453 * workers/WorkerContext.h:
454 (WebCore::WorkerContext::isClosing):
455 isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
456 * workers/WorkerMessagingProxy.cpp:
457 (WebCore::WorkerExceptionTask::performTask):
458 Error events should still be delivered even if the worker thread is closing.
459 Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
460 (WebCore::WorkerTerminateTask::create):
461 New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
462 (WebCore::WorkerTerminateTask::WorkerTerminateTask):
463 (WebCore::WorkerTerminateTask::performTask):
464 (WebCore::WorkerMessagingProxy::workerContextClosed):
465 Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
466 * workers/WorkerMessagingProxy.h:
467 WorkerMessagingProxy now overrides workerContextClosed().
468 * workers/WorkerRunLoop.cpp:
469 (WebCore::WorkerRunLoop::runInMode):
470 Now drops tasks on the floor if the WorkerContext is closing.
472 2009-08-31 Ojan Vafai <ojan@chromium.org>
474 Not reviewed (build fix)
476 Build fix for Chromium to match r49707.
478 * bindings/v8/ScriptCallFrame.cpp:
479 (WebCore::ScriptCallFrame::ScriptCallFrame):
480 * bindings/v8/ScriptSourceCode.h:
481 (WebCore::ScriptSourceCode::ScriptSourceCode):
482 * platform/KURLGoogle.cpp:
483 (WebCore::KURL::KURL):
486 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
488 Reviewed by Darin Adler.
490 https://bugs.webkit.org/show_bug.cgi?id=28858
491 Element.baseURI parses xml:base attribute incorrectly
493 Test: fast/dom/base-attribute-parsing.xhtml
495 * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
498 2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
500 Reverting http://trac.webkit.org/changeset/47904, because it caused
503 Test: fast/dom/Window/new-window-opener.html
505 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
507 Reviewed by Darin Adler.
509 https://bugs.webkit.org/show_bug.cgi?id=28852
510 Rename KURL single argument constructor to avoid confusion
512 * platform/KURL.h: The constructor that used to be single argument should now be invoked
513 as KURL(ParsedURLString, myString).
516 * bindings/js/JSDOMWindowCustom.cpp:
517 (WebCore::createWindow):
518 * bindings/js/ScriptCallFrame.cpp:
519 (WebCore::ScriptCallFrame::ScriptCallFrame):
520 * bindings/v8/NPV8Object.cpp:
521 (_NPN_EvaluateHelper):
522 * bindings/v8/custom/V8DOMWindowCustom.cpp:
523 (WebCore::createWindow):
524 * css/CSSCursorImageValue.cpp:
525 (WebCore::isSVGCursorIdentifier):
526 * css/CSSImageValue.cpp:
527 (WebCore::CSSImageValue::cachedImage):
528 * css/CSSImportRule.cpp:
529 (WebCore::CSSImportRule::insertedIntoParent):
531 (WebCore::StyleBase::baseURL):
533 (WebCore::Document::initSecurityContext):
535 (WebCore::Element::baseURI):
536 * editing/markup.cpp:
537 (WebCore::completeURLs):
538 * history/HistoryItem.cpp:
539 (WebCore::HistoryItem::url):
540 (WebCore::HistoryItem::originalURL):
541 * inspector/InspectorController.cpp:
542 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
543 * inspector/InspectorResource.cpp:
544 (WebCore::InspectorResource::createCached):
546 (WebCore::Cache::revalidateResource):
547 * loader/DocLoader.cpp:
548 (WebCore::DocLoader::requestResource):
549 * loader/DocumentLoader.cpp:
550 (WebCore::DocumentLoader::getSubresources):
551 * loader/FrameLoader.cpp:
552 (WebCore::FrameLoader::init):
553 (WebCore::FrameLoader::iconURL):
554 (WebCore::FrameLoader::scheduleLocationChange):
555 (WebCore::FrameLoader::redirectionTimerFired):
556 (WebCore::FrameLoader::loadURLIntoChildFrame):
557 (WebCore::FrameLoader::startRedirectionTimer):
558 * loader/appcache/ApplicationCache.cpp:
559 (WebCore::ApplicationCache::resourceForURL):
560 * loader/appcache/ApplicationCacheGroup.cpp:
561 (WebCore::ApplicationCacheGroup::startLoadingEntry):
562 (WebCore::ApplicationCacheGroup::addEntry):
563 * loader/appcache/ApplicationCacheStorage.cpp:
564 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
565 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
566 (WebCore::ApplicationCacheStorage::loadCache):
567 (WebCore::ApplicationCacheStorage::manifestURLs):
568 * loader/archive/cf/LegacyWebArchive.cpp:
569 (WebCore::LegacyWebArchive::createResource):
570 (WebCore::LegacyWebArchive::create):
572 (WebCore::Loader::load):
573 * notifications/NotificationCenter.h:
574 (WebCore::NotificationCenter::createHTMLNotification):
576 (WebCore::KURL::KURL):
578 * platform/KURLHash.h:
579 * platform/chromium/ClipboardChromium.cpp:
580 (WebCore::ClipboardChromium::setData):
581 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
582 (WebCore::MediaPlayerPrivate::createQTMovie):
583 * platform/network/cf/ResourceErrorCF.cpp:
584 (WebCore::ResourceError::operator CFErrorRef):
585 * platform/network/cf/ResourceRequest.h:
586 (WebCore::ResourceRequest::ResourceRequest):
587 * platform/network/chromium/ResourceRequest.h:
588 (WebCore::ResourceRequest::ResourceRequest):
589 * platform/network/curl/ResourceHandleManager.cpp:
590 (WebCore::handleLocalReceiveResponse):
591 (WebCore::headerCallback):
592 * platform/network/curl/ResourceRequest.h:
593 (WebCore::ResourceRequest::ResourceRequest):
594 * platform/network/mac/ResourceErrorMac.mm:
595 (WebCore::ResourceError::operator NSError*):
596 * platform/network/mac/ResourceRequest.h:
597 (WebCore::ResourceRequest::ResourceRequest):
598 * platform/network/qt/ResourceRequest.h:
599 (WebCore::ResourceRequest::ResourceRequest):
600 * platform/network/soup/ResourceRequest.h:
601 (WebCore::ResourceRequest::ResourceRequest):
602 * platform/win/ClipboardWin.cpp:
603 (WebCore::filesystemPathFromUrlOrTitle):
604 (WebCore::ClipboardWin::setData):
605 * svg/graphics/SVGImage.cpp:
606 (WebCore::SVGImage::dataChanged):
607 * xml/XSLImportRule.cpp:
608 (WebCore::XSLImportRule::loadSheet):
609 * xml/XSLTProcessor.cpp:
610 (WebCore::docLoaderFunc):
611 Adapt to the change everywhere the single argument constructor was used. I did a very
612 cursory check of whether these locations were using this constructor properly, and didn't
613 notice any obvious mistakes. The new explicit name will hopefully suggest checking this
614 better when refactoring any such code.
616 2009-08-31 Beth Dakin <bdakin@apple.com>
618 Reviewed by Darin Adler.
620 Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3
621 Backgrounds and Borders] Add support for 2-keyword values for
624 This patch allows background-repeat to take two values by making
625 background-repeat just like background-position internally. There
626 is a little extra legwork for background-repeat because the spec
627 indicates that its computed value should be equivalent to how it
628 was specified. I keep track of the specified thing by setting the
629 implicit flag whenever background-repeat is defined with only one
630 value (since internally, we now store this as 2 values.)
632 Here we can't access the implicit flag, so for backwards-
633 compatibility's sake, we always return one value when that makes
635 * css/CSSComputedStyleDeclaration.cpp:
636 (WebCore::fillRepeatToCSSValue):
637 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
639 Here we check for the implicit flag and return one value when it is
641 * css/CSSMutableStyleDeclaration.cpp:
642 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
643 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
644 (WebCore::CSSMutableStyleDeclaration::cssText):
646 Add support for CSSPropertyBackgroundRepeatX and
647 CSSPropertyBackgroundRepeatY
649 (WebCore::CSSParser::parseValue):
650 (WebCore::CSSParser::parseFillShorthand):
651 (WebCore::CSSParser::parseFillRepeat):
652 (WebCore::CSSParser::parseFillProperty):
655 Get rid of mappings to RepeatXFill and RepeatYFill since we don't
656 need those parts of the EFillRepeat enum anymore.
657 * css/CSSPrimitiveValueMappings.h:
658 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
659 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
661 Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
662 * css/CSSPropertyLonghand.cpp:
663 (WebCore::initShorthandMap):
665 Add background-repeat-x and -y.
666 * css/CSSPropertyNames.in:
668 Break repeat into x and y.
669 * css/CSSStyleSelector.cpp:
670 (WebCore::CSSStyleSelector::applyProperty):
671 (WebCore::CSSStyleSelector::mapFillRepeatX):
672 (WebCore::CSSStyleSelector::mapFillRepeatY):
673 * css/CSSStyleSelector.h:
675 There is no more RepeatXFill. Instead, look for
676 fillLayer->repeatX() == RepeatFill
677 * rendering/RenderBoxModelObject.cpp:
678 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
680 Break m_repeat into m_repeatX and m_repeatY
681 * rendering/style/FillLayer.cpp:
682 (WebCore::FillLayer::FillLayer):
683 (WebCore::FillLayer::operator=):
684 (WebCore::FillLayer::operator==):
685 (WebCore::FillLayer::fillUnsetProperties):
686 (WebCore::FillLayer::cullEmptyLayers):
687 * rendering/style/FillLayer.h:
688 (WebCore::FillLayer::repeatX):
689 (WebCore::FillLayer::repeatY):
690 (WebCore::FillLayer::isRepeatXSet):
691 (WebCore::FillLayer::isRepeatYSet):
692 (WebCore::FillLayer::setRepeatX):
693 (WebCore::FillLayer::setRepeatY):
694 (WebCore::FillLayer::clearRepeatX):
695 (WebCore::FillLayer::clearRepeatY):
696 (WebCore::FillLayer::initialFillRepeatX):
697 (WebCore::FillLayer::initialFillRepeatY):
699 Again, break backgroundRepeat into backgroundRepeatX and
701 * rendering/style/RenderStyle.h:
702 (WebCore::InheritedFlags::backgroundRepeatX):
703 (WebCore::InheritedFlags::backgroundRepeatY):
704 (WebCore::InheritedFlags::maskRepeatX):
705 (WebCore::InheritedFlags::maskRepeatY):
707 We don't need RepeatXFill or RepeatYFill. Now that we store two
708 values, they are represented by Repeat-NoRepeat and NoRepeat-
709 Repeat, respectively.
710 * rendering/style/RenderStyleConstants.h:
713 2009-08-31 Simon Fraser <simon.fraser@apple.com>
715 Reviewed by Dan Bernstein.
717 Compositing layer size needs to take into account software reflections on children.
718 https://bugs.webkit.org/show_bug.cgi?id=28837
720 When computing the bounds of a composited layer, take software-rendered
721 reflections into account.
723 Test: compositing/reflections/reflection-in-composited.html
725 * rendering/RenderLayerCompositor.cpp:
726 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
728 2009-08-31 Mark Mentovai <mark@chromium.org>
730 Reviewed by Dave Hyatt.
732 https://bugs.webkit.org/show_bug.cgi?id=28614
734 Perform a layout prior to checking whether the scrollbar modes are
735 off, on, or automatic. The modes may change during layout.
737 * platform/ScrollView.cpp:
738 (WebCore::ScrollView::updateScrollbars):
740 2009-08-31 Patrick Mueller <Patrick_Mueller@us.ibm.com>
742 Reviewed by Timothy Hatcher.
744 Inspector Request Headers Should Show Data Sent With Request
745 https://bugs.webkit.org/show_bug.cgi?id=22920
747 Manual test added - see below.
749 * English.lproj/localizedStrings.js:
750 * inspector/InspectorResource.cpp:
751 (WebCore::InspectorResource::updateRequest):
752 (WebCore::InspectorResource::createScriptObject):
753 (WebCore::InspectorResource::updateScriptObject):
754 * inspector/InspectorResource.h:
755 * inspector/front-end/Resource.js:
756 (WebInspector.Resource):
757 * inspector/front-end/ResourceView.js:
758 (WebInspector.ResourceView):
759 (WebInspector.ResourceView.prototype._refreshURL):
760 (WebInspector.ResourceView.prototype._refreshQueryString):
761 (WebInspector.ResourceView.prototype._refreshFormData):
762 (WebInspector.ResourceView.prototype._refreshRequestPayload):
763 (WebInspector.ResourceView.prototype._refreshParms):
764 (WebInspector.ResourceView.prototype._toggleURLdecoding):
765 (WebInspector.ResourceView.prototype._getHeaderValue):
766 (WebInspector.ResourceView.prototype._refreshRequestHeaders):
767 * inspector/front-end/inspector.css:
768 * inspector/front-end/inspector.js:
769 (WebInspector.addResource):
770 (WebInspector.updateResource):
771 * manual-tests/inspector/display-form-data.html: Added.
773 2009-08-31 Pavel Feldman <pfeldman@chromium.org>
775 Reviewed by Timothy Hatcher.
777 WebInspector: pass call frames into the frontend as a part of
780 https://bugs.webkit.org/show_bug.cgi?id=28847
782 * inspector/InspectorController.cpp:
783 (WebCore::InspectorController::didPause):
784 * inspector/InspectorFrontend.cpp:
785 (WebCore::InspectorFrontend::pausedScript):
786 * inspector/InspectorFrontend.h:
787 * inspector/front-end/ScriptsPanel.js:
788 (WebInspector.ScriptsPanel.prototype.debuggerPaused):
789 * inspector/front-end/inspector.js:
790 (WebInspector.pausedScript):
792 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
794 Reviewed by Ariya Hidayat.
796 [Qt] Un-blacklist Silverlight on Mac
798 Does not seem to crash anymore, probably due to how we now handle
799 drawing and event model handshake better.
801 * plugins/mac/PluginPackageMac.cpp:
802 (WebCore::PluginPackage::isPluginBlacklisted):
804 2009-08-31 Cameron McCormack <cam@mcc.id.au>
806 Reviewed by Eric Seidel.
808 https://bugs.webkit.org/show_bug.cgi?id=28827
809 SVGSVGElement.unsuspendRedraw() shouldn't throw
811 * svg/SVGSVGElement.cpp:
812 (WebCore::SVGSVGElement::unsuspendRedraw):
813 * svg/SVGSVGElement.h:
814 * svg/SVGSVGElement.idl:
816 2009-08-31 Kent Tamura <tkent@chromium.org>
818 Reviewed by Eric Seidel.
820 - Change the reutrn type of HTMLInputElement::list so that it
821 conforms to the standard.
822 - Add HTMLInputElement::dataList()
823 https://bugs.webkit.org/show_bug.cgi?id=28769
826 * html/HTMLInputElement.cpp:
827 (WebCore::HTMLInputElement::list):
828 (WebCore::HTMLInputElement::dataList):
829 (WebCore::HTMLInputElement::selectedOption):
830 * html/HTMLInputElement.h:
831 * html/HTMLInputElement.idl:
833 2009-08-31 Kwang Yul Seo <skyul@company100.net>
835 Reviewed by Eric Seidel.
837 Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
838 https://bugs.webkit.org/show_bug.cgi?id=28802
840 Remove ASSERT because the frame could be null if the
841 ResourceHandle is not associated with any frame, e.g. if we are
843 If the frame is not null but the page is null this must be an
844 attempted load from an onUnload handler, so let's just block it.
846 * platform/network/curl/ResourceHandleCurl.cpp:
847 (WebCore::ResourceHandle::start):
849 2009-08-31 Maxime Simon <simon.maxime@gmail.com>
851 Reviewed by Eric Seidel.
853 Build fix for platforms which don't enable DOM_STORAGE.
854 https://bugs.webkit.org/show_bug.cgi?id=28834
856 * bindings/js/ScriptController.cpp:
857 (WebCore::ScriptController::evaluate):
858 * bindings/v8/ScriptController.cpp:
859 (WebCore::ScriptController::evaluate):
861 2009-08-29 Adele Peterson <adele@apple.com>
863 Reviewed by Dan Bernstein.
865 Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
866 Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
868 Test: accessibility/aria-activedescendant-crash.html
870 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
872 2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
874 Reviewed by Oliver Hunt.
876 Gtk Build broken for OSX Quartz
877 https://bugs.webkit.org/show_bug.cgi?id=28727
879 Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
880 port in Mac and Unix/Linux.
882 * plugins/PluginView.cpp:
883 (WebCore::PluginView::PluginView):
884 * plugins/PluginView.h:
885 * plugins/gtk/PluginViewGtk.cpp:
886 (WebCore::PluginView::setNPWindowIfNeeded):
887 (WebCore::PluginView::getValueStatic):
888 (WebCore::PluginView::getValue):
889 (WebCore::PluginView::init):
891 2009-08-28 Simon Fraser <simon.fraser@apple.com>
893 Reviewed by Dan Bernstein.
895 Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
896 https://bugs.webkit.org/show_bug.cgi?id=28754
898 For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
899 ancestor, since the layer x and y are relative to that ancestor. However, this could
900 skip over the ancestorLayer, thus giving the wrong result.
902 Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
903 and checking for ancestorLayer along the way. If found, compute offset of both to
904 the enclosingPositionedAncestor() and subtract.
906 This also fixes a positioning bug with abs. positioned elements in reflections,
907 so there is a new reflection test with a pixel result.
909 Tests: compositing/geometry/abs-position-inside-opacity.html
910 fast/reflections/abs-position-in-reflection.html
912 * rendering/RenderLayer.cpp:
913 (WebCore::isPositionedContainer):
914 (WebCore::RenderLayer::enclosingPositionedAncestor):
915 (WebCore::RenderLayer::enclosingTransformedAncestor):
916 (WebCore::RenderLayer::convertToLayerCoords):
918 2009-08-28 Simon Fraser <simon.fraser@apple.com>
920 Reviewed by Mark Rowe
922 Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
923 https://bugs.webkit.org/show_bug.cgi?id=27727
925 When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of
926 CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
927 because there is not a unique enum value for WebkitCSSTransformValue.
929 * bindings/objc/DOMCSS.mm:
932 2009-08-28 Peter Kasting <pkasting@google.com>
934 Reviewed by Jan Michael Alonzo.
936 https://bugs.webkit.org/show_bug.cgi?id=28308
937 Fix some warnings introduced by r47381.
939 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
940 (WebCore::convertCMYKToRGBA):
941 (WebCore::convertRGBToRGBA):
943 2009-08-28 Ada Chan <adachan@apple.com>
945 Reviewed by Adam Roben.
947 https://bugs.webkit.org/show_bug.cgi?id=21442
948 Make sure filesystemPathFromUrlOrTitle() returns a string with length
951 * platform/win/ClipboardWin.cpp:
952 (WebCore::filesystemPathFromUrlOrTitle):
954 2009-08-28 Dumitru Daniliuc <dumi@chromium.org>
956 Reviewed by Dimitri Glazkov.
958 Adding Chromium's VFS for Linux and Mac.
960 https://bugs.webkit.org/show_bug.cgi?id=28750
963 * platform/chromium/ChromiumBridge.h:
964 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
965 (WebCore::SQLiteFileSystem::openDatabase):
966 (WebCore::SQLiteFileSystem::deleteDatabaseFile):
967 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
968 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
969 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
970 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
972 2009-08-28 Vitaly Repeshko <vitalyr@chromium.org>
974 Reviewed by Dimitri Glazkov.
976 [V8] Made bindings use Node::setOnEvent functions for Node descendants
977 instead of Node::setAttributeEventListener.
979 Node::setAttributeEventListener is an internal function and
980 doesn't do the forwarding to DOM window that is required for some
982 https://bugs.webkit.org/show_bug.cgi?id=28709
984 Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
986 * bindings/scripts/CodeGeneratorV8.pm:
987 Now generates EventListener accessors for Node descendants instead
988 of using custom callbacks.
989 * bindings/v8/V8DOMWrapper.cpp:
990 (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
991 * bindings/v8/V8DOMWrapper.h:
992 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
994 * bindings/v8/V8Utilities.cpp:
995 (WebCore::createHiddenDependency):
996 (WebCore::removeHiddenDependency):
997 Changed signature to accept Handle instead of Local.
998 * bindings/v8/V8Utilities.h:
999 * bindings/v8/custom/V8CustomBinding.h:
1000 * bindings/v8/custom/V8NodeCustom.cpp:
1001 (WebCore::CALLBACK_FUNC_DECL):
1002 Removed custom callbacks for EventListener accessors.
1004 2009-08-28 Ben Murdoch <benm@google.com>
1006 https://bugs.webkit.org/show_bug.cgi?id=28803
1008 Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
1010 * bindings/v8/custom/V8CustomVoidCallback.cpp:
1011 (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
1013 2009-08-28 Peter Kasting <pkasting@google.com>
1015 Not reviewed (build fix).
1017 * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
1018 (WebCore::ImageDecoder::create):
1019 (WebCore::ImageDecoderQt::ImageDecoderQt):
1020 * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
1022 2009-08-28 Peter Kasting <pkasting@google.com>
1024 Reviewed by Eric Seidel.
1026 https://bugs.webkit.org/show_bug.cgi?id=27965
1027 Move ImageDecoder creation function to a factory function on
1028 ImageDecoder. This is arguably where it makes the most sense anyway,
1029 and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
1032 * platform/graphics/ImageSource.cpp:
1033 * platform/graphics/qt/ImageDecoderQt.cpp:
1034 (WebCore::ImageDecoder::create):
1035 * platform/graphics/qt/ImageDecoderQt.h:
1036 * platform/graphics/qt/ImageSourceQt.cpp:
1037 (WebCore::ImageSource::setData):
1038 * platform/image-decoders/ImageDecoder.cpp:
1039 * platform/image-decoders/ImageDecoder.h:
1041 2009-08-28 Peter Kasting <pkasting@google.com>
1043 Reviewed by Eric Seidel.
1045 https://bugs.webkit.org/show_bug.cgi?id=28785
1046 Combine duplicated code from ImageDecoder*.cpp into the main
1049 * platform/image-decoders/ImageDecoder.cpp:
1050 (WebCore::RGBA32Buffer::RGBA32Buffer):
1051 (WebCore::RGBA32Buffer::clear):
1052 (WebCore::RGBA32Buffer::zeroFill):
1053 (WebCore::RGBA32Buffer::copyBitmapData):
1054 (WebCore::RGBA32Buffer::setSize):
1055 (WebCore::RGBA32Buffer::hasAlpha):
1056 (WebCore::RGBA32Buffer::setHasAlpha):
1057 (WebCore::RGBA32Buffer::setStatus):
1058 (WebCore::RGBA32Buffer::operator=):
1059 (WebCore::RGBA32Buffer::width):
1060 (WebCore::RGBA32Buffer::height):
1061 * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1062 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1063 * platform/image-decoders/wx/ImageDecoderWx.cpp:
1065 2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1067 Reviewed by Holger Freyther.
1069 https://bugs.webkit.org/show_bug.cgi?id=25889
1070 [GTK] scrollbar policy for main frame is not implementable
1072 Override setScrollbarModes to correctly forward scrollbar modes
1073 policy changes to client code, via a new platform-specific method,
1074 scrollbarsPolicyDidChange.
1076 * page/ChromeClient.h:
1077 (WebCore::ChromeClient::scrollbarsPolicyDidChange):
1078 * platform/ScrollView.cpp:
1079 (WebCore::ScrollView::createScrollbar):
1080 * platform/ScrollView.h:
1081 * platform/gtk/ScrollViewGtk.cpp:
1082 (WebCore::ScrollView::setScrollbarModes):
1084 2009-08-28 Cédric Luthi <cedric.luthi@gmail.com>
1086 Reviewed by Tor Arne Vestbø
1088 [Qt/Mac] Un-blacklist the QuickTime plugin
1090 https://bugs.webkit.org/show_bug.cgi?id=28768
1092 Now that the drawing model is properly negotiated, there is no need the
1093 blacklist the QuickTime plugin anymore.
1095 This revealed a bug in PluginView::performRequest: it should not initiate a
1096 request if the plugin has been stopped, which is what happens when a plugin
1097 only supports the QuickDraw drawing model.
1099 * plugins/PluginView.cpp:
1100 * plugins/mac/PluginPackageMac.cpp:
1102 2009-08-28 Yury Semikhatsky <yurys@chromium.org>
1104 Reviewed by Timothy Hatcher.
1106 Set DOM agent document to 0 in InspectorController::close to
1107 make DOM agent remove DOM listeners from the inspected document.
1109 Replace windowVisible checks with m_frontend checks to as inspector
1110 window lives in a different process in Chromium while frontend proxy
1111 is in the inspected page process.
1113 https://bugs.webkit.org/show_bug.cgi?id=28800
1115 * inspector/InspectorController.cpp:
1116 (WebCore::InspectorController::inspect):
1117 (WebCore::InspectorController::addConsoleMessage):
1118 (WebCore::InspectorController::close):
1119 (WebCore::InspectorController::pruneResources):
1120 (WebCore::InspectorController::didCommitLoad):
1121 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1122 (WebCore::InspectorController::identifierForInitialRequest):
1123 (WebCore::InspectorController::willSendRequest):
1124 (WebCore::InspectorController::didReceiveResponse):
1125 (WebCore::InspectorController::didReceiveContentLength):
1126 (WebCore::InspectorController::didFinishLoading):
1127 (WebCore::InspectorController::didFailLoading):
1128 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1129 (WebCore::InspectorController::scriptImported):
1130 (WebCore::InspectorController::didOpenDatabase):
1131 (WebCore::InspectorController::didUseDOMStorage):
1132 (WebCore::InspectorController::addProfile):
1133 * inspector/InspectorController.h:
1135 2009-08-28 Mikhail Naganov <mnaganov@chromium.org>
1137 Reviewed by Timothy Hatcher.
1139 Remove dependency of SummaryBar on WebInspector.resourceCategories.
1141 https://bugs.webkit.org/show_bug.cgi?id=28801
1143 * inspector/front-end/ResourcesPanel.js:
1144 (WebInspector.ResourcesPanel):
1145 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
1146 * inspector/front-end/SummaryBar.js:
1147 (WebInspector.SummaryBar):
1148 (WebInspector.SummaryBar.prototype.update):
1150 2009-08-28 Pavel Feldman <pfeldman@chromium.org>
1152 Not reviewed (patching in l18n change that was missing due to
1153 the git binary diff format).
1155 https://bugs.webkit.org/show_bug.cgi?id=28429
1157 * English.lproj/localizedStrings.js:
1159 2009-08-28 Adam Barth <abarth@webkit.org>
1161 Reviewed by Eric Seidel.
1163 Make XSSAuditor go fast
1164 https://bugs.webkit.org/show_bug.cgi?id=28667
1166 Make the XSSAuditor go faster by implementing two optimizations:
1168 1) We avoid canonicalizing scripts that are larger than the page's URL.
1169 This saves a bunch of time for large inline scripts.
1171 2) We memoize canonicalizing the page's URL because it's silly to
1172 canonicalize repeated for each inline event listener.
1174 These optimizations have a measurable affect on the intl1 page cycler.
1178 * page/XSSAuditor.cpp:
1179 (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
1180 (WebCore::XSSAuditor::canEvaluate):
1181 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1182 (WebCore::XSSAuditor::canCreateInlineEventListener):
1183 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1184 (WebCore::XSSAuditor::canLoadObject):
1185 (WebCore::XSSAuditor::canSetBaseElementURL):
1186 (WebCore::XSSAuditor::decodeURL):
1187 (WebCore::XSSAuditor::findInRequest):
1188 * page/XSSAuditor.h:
1190 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
1192 Unreviewed, build fix.
1194 Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
1195 fast/canvas/change-context.html. And it's alright to reach it.
1197 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1198 (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
1200 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1202 Not reviewed. Build fix for http://trac.webkit.org/changeset/47840
1204 Peter's change forgot one m_decoder->
1206 * platform/graphics/ImageSource.cpp:
1207 (WebCore::ImageSource::frameSizeAtIndex):
1209 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
1211 Unreviewed, build fix.
1213 [V8] Add NULL-check, since the context ain't changeable no more, and
1214 thus getContext could return 0.
1216 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1217 (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
1219 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
1221 Reviewed by Eric Seidel.
1223 dataTransfer.types() should include type "Files" when files are present in the clipboard.
1224 https://bugs.webkit.org/show_bug.cgi?id=28780
1226 Add dataTransfer type "Files" to the chromium port. Add eseidel's
1227 patch for same for the mac port.
1229 * platform/chromium/ClipboardChromium.cpp:
1231 2009-08-27 Chris Marrin <cmarrin@apple.com>
1233 Reviewed by Simon Fraser.
1235 Removed GL_ from all constants, and gl prefix from all calls
1236 https://bugs.webkit.org/show_bug.cgi?id=28773
1238 This was done for the external API in CanvasRenderingContext3D and
1239 the internal API in GraphicsContext3D.
1241 * html/canvas/CanvasRenderingContext3D.cpp:
1242 * html/canvas/CanvasRenderingContext3D.h:
1243 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1244 * html/canvas/CanvasRenderingContext3D.idl:
1245 * platform/graphics/GraphicsContext3D.h:
1246 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1248 2009-08-27 Jan Michael Alonzo <jmalonzo@webkit.org>
1250 Qt and Gtk build fixes. Not reviewed.
1252 Add CanvasRenderingContext3D.idl to the build scripts.
1257 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1259 Reviewed by Darin Fisher.
1261 Release the storage mutex whenever leaving JavaScript execution.
1262 https://bugs.webkit.org/show_bug.cgi?id=28789
1264 http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
1265 required behavior. After we leave JavaScript, we must be sure the storage
1266 mutex has been released. At the end of evaluate(), if localStorage has been
1267 instantiated, tell it to release any locks that may be applicable.
1269 * bindings/js/ScriptController.cpp:
1270 (WebCore::ScriptController::evaluate):
1271 * bindings/v8/ScriptController.cpp:
1272 (WebCore::ScriptController::evaluate):
1274 2009-08-27 Alexey Proskuryakov <ap@apple.com>
1276 Reviewed by Oliver Hunt.
1278 https://bugs.webkit.org/show_bug.cgi?id=28753
1279 <rdar://problem/7173448> Excessive number of threads (and a crash)
1281 Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
1282 - when resolver is idle, the first few requests are sent immediately (they may or may not
1284 - if there are a few requests in flight already, coalesce all requests for one second;
1285 - to avoid pathological cases with lots of links to different sites on a page, only ask
1286 CFHost about a handful of names (dropping the rest).
1288 Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
1289 link, and these tend to have identical host name.
1291 * platform/network/cf/DNSCFNet.cpp:
1292 (WebCore::DNSResolveQueue::DNSResolveQueue):
1293 (WebCore::DNSResolveQueue::shared):
1294 (WebCore::DNSResolveQueue::add):
1295 (WebCore::DNSResolveQueue::decrementRequestCount):
1296 (WebCore::DNSResolveQueue::fired):
1297 (WebCore::clientCallback):
1298 (WebCore::DNSResolveQueue::resolve):
1299 (WebCore::prefetchDNS):
1301 2009-08-27 Chris Marrin <cmarrin@apple.com>
1303 Reviewed by Simon Fraser.
1305 Final patch for Canvas 3D support
1306 https://bugs.webkit.org/show_bug.cgi?id=28018
1308 This hooks everything up and provides a working implementation of
1309 Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
1310 passing the opaque context and texture pointers so a Canvas3DLayer can be
1311 created (more on that later). It also plumbs changes to the 3D canvas so
1312 that Canvas3DLayer can recomposite the results.
1314 A 3D Canvas element needs a RenderLayer and compositing layer to render.
1315 This is because it renders to an off-screen texture in the GPU and then
1316 hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
1317 render that texture as a 3D quad. This keeps everything in GPU memory to
1318 maximize performance. When a CanvasRenderingContext3D is created it
1319 forces a style recalc which creates the RenderLayer and compositing
1322 I repurposed an existing flag which was put in place for animation to accomplish
1323 this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from
1324 AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
1325 to do a complete style recalc, even though the style itself has not really
1328 This patch also fixes a couple of bugs discovered when testing with 3d-canvas
1329 turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
1330 This is needed when making a JS wrapper for the object so the prototype
1331 property can be set.
1333 Test: fast/canvas/change-context.html
1335 * WebCore.xcodeproj/project.pbxproj:
1336 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1337 (WebCore::JSCanvasRenderingContext3D::glDrawElements):
1338 * bindings/js/JSCanvasRenderingContextCustom.cpp:
1341 (WebCore::Element::recalcStyle):
1343 (WebCore::Node::setNeedsStyleRecalc):
1346 * html/HTMLCanvasElement.cpp:
1347 (WebCore::HTMLCanvasElement::getContext):
1348 (WebCore::HTMLCanvasElement::is3D):
1349 * html/HTMLCanvasElement.h:
1350 * html/canvas/CanvasBuffer.cpp:
1351 (WebCore::CanvasBuffer::create):
1352 (WebCore::CanvasBuffer::CanvasBuffer):
1353 (WebCore::CanvasBuffer::_deleteObject):
1354 * html/canvas/CanvasBuffer.h:
1355 * html/canvas/CanvasFramebuffer.cpp:
1356 (WebCore::CanvasFramebuffer::create):
1357 (WebCore::CanvasFramebuffer::CanvasFramebuffer):
1358 (WebCore::CanvasFramebuffer::_deleteObject):
1359 * html/canvas/CanvasFramebuffer.h:
1360 * html/canvas/CanvasObject.cpp:
1361 (WebCore::CanvasObject::CanvasObject):
1362 (WebCore::CanvasObject::~CanvasObject):
1363 (WebCore::CanvasObject::deleteObject):
1364 * html/canvas/CanvasObject.h:
1365 (WebCore::CanvasObject::context):
1366 * html/canvas/CanvasProgram.cpp:
1367 (WebCore::CanvasProgram::create):
1368 (WebCore::CanvasProgram::CanvasProgram):
1369 (WebCore::CanvasProgram::_deleteObject):
1370 * html/canvas/CanvasProgram.h:
1371 * html/canvas/CanvasRenderbuffer.cpp:
1372 (WebCore::CanvasRenderbuffer::create):
1373 (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
1374 (WebCore::CanvasRenderbuffer::_deleteObject):
1375 * html/canvas/CanvasRenderbuffer.h:
1376 * html/canvas/CanvasRenderingContext3D.cpp:
1377 (WebCore::CanvasRenderingContext3D::createBuffer):
1378 (WebCore::CanvasRenderingContext3D::createFramebuffer):
1379 (WebCore::CanvasRenderingContext3D::createTexture):
1380 (WebCore::CanvasRenderingContext3D::createProgram):
1381 (WebCore::CanvasRenderingContext3D::createRenderbuffer):
1382 (WebCore::CanvasRenderingContext3D::createShader):
1383 * html/canvas/CanvasRenderingContext3D.h:
1384 (WebCore::CanvasRenderingContext3D::graphicsContext3D):
1385 * html/canvas/CanvasShader.cpp:
1386 (WebCore::CanvasShader::create):
1387 (WebCore::CanvasShader::CanvasShader):
1388 (WebCore::CanvasShader::_deleteObject):
1389 * html/canvas/CanvasShader.h:
1390 * html/canvas/CanvasTexture.cpp:
1391 (WebCore::CanvasTexture::create):
1392 (WebCore::CanvasTexture::CanvasTexture):
1393 (WebCore::CanvasTexture::_deleteObject):
1394 * html/canvas/CanvasTexture.h:
1395 * page/DOMWindow.idl:
1396 * page/animation/AnimationBase.cpp:
1397 (WebCore::AnimationBase::setNeedsStyleRecalc):
1398 * page/animation/AnimationController.cpp:
1399 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1400 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
1401 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1402 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1403 (WebCore::AnimationController::cancelAnimations):
1404 * platform/graphics/GraphicsContext3D.h:
1405 (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1406 (WebCore::GraphicsContext3D::platformTexture):
1407 * platform/graphics/GraphicsLayer.h:
1408 (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
1409 (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
1410 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1411 (WebCore::GraphicsContext3D::~GraphicsContext3D):
1412 (WebCore::GraphicsContext3D::reshape):
1413 * platform/graphics/mac/GraphicsLayerCA.h:
1414 (WebCore::GraphicsLayerCA::):
1415 * platform/graphics/mac/GraphicsLayerCA.mm:
1416 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1417 (WebCore::GraphicsLayerCA::commitLayerChanges):
1418 (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
1419 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
1420 (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
1421 * rendering/RenderHTMLCanvas.cpp:
1422 (WebCore::RenderHTMLCanvas::requiresLayer):
1423 * rendering/RenderHTMLCanvas.h:
1424 (WebCore::RenderHTMLCanvas::isCanvas):
1425 * rendering/RenderLayerBacking.cpp:
1426 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1427 (WebCore::RenderLayerBacking::canUseDirectCompositing):
1428 (WebCore::RenderLayerBacking::rendererContentChanged):
1429 * rendering/RenderLayerCompositor.cpp:
1430 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1431 (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
1432 * rendering/RenderLayerCompositor.h:
1433 * rendering/RenderObject.h:
1434 (WebCore::RenderObject::isCanvas):
1436 2009-08-27 Peter Kasting <pkasting@google.com>
1438 Reviewed by Eric Seidel.
1440 https://bugs.webkit.org/show_bug.cgi?id=28751
1441 Clean up ImageDecoder*.cpp a bit.
1443 * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
1444 order as in the header file. Also, since there's already an anonymous
1445 namespace in this file, use it to enclose the local helper functions.
1447 (WebCore::ImageDecoder::upperBoundScaledX):
1448 (WebCore::ImageDecoder::lowerBoundScaledX):
1449 (WebCore::ImageDecoder::scaledY):
1450 * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1451 (WebCore::RGBA32Buffer::width): Style fix.
1452 (WebCore::RGBA32Buffer::height): Style fix.
1453 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1454 (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
1455 (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
1456 (WebCore::RGBA32Buffer::operator=): Simplify.
1457 * platform/image-decoders/wx/ImageDecoderWx.cpp:
1458 (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.
1459 (WebCore::RGBA32Buffer::width): Style fix.
1460 (WebCore::RGBA32Buffer::height): Style fix.
1462 2009-08-27 Peter Kasting <pkasting@google.com>
1464 Reviewed by Eric Seidel.
1466 https://bugs.webkit.org/show_bug.cgi?id=28751
1467 Clean up ImageSource.* in preparation for more fixes on bug 27965.
1469 * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
1470 (WebCore::ImageSource::isSizeAvailable): Shorten.
1471 (WebCore::ImageSource::size): Shorten.
1472 (WebCore::ImageSource::frameSizeAtIndex): Shorten.
1473 (WebCore::ImageSource::repetitionCount): Shorten.
1474 (WebCore::ImageSource::frameIsCompleteAtIndex):
1475 * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
1477 2009-08-27 Peter Kasting <pkasting@google.com>
1479 Reviewed by Eric Seidel.
1481 https://bugs.webkit.org/show_bug.cgi?id=28785
1482 Add ImageDecoder.cpp to various build files so platforms will be able to
1483 use it. Move an ENABLE to not cover the whole file, in preparation for
1484 adding a bunch of code. Simplify #ifdefs in ImageDecoder.h to be "Skia
1485 vs. everyone else", which also gives new platforms a reasonable default
1490 * WebCore.vcproj/WebCore.vcproj:
1491 * WebCoreSources.bkl:
1492 * platform/image-decoders/ImageDecoder.cpp:
1494 * platform/image-decoders/ImageDecoder.h:
1495 (WebCore::RGBA32Buffer::getAddr):
1497 2009-08-27 Antti Koivisto <antti@apple.com>
1499 Reviewed by Dave Kilzer.
1501 https://bugs.webkit.org/show_bug.cgi?id=28784
1503 Add an exported method to flush pending repaints.
1506 * page/FrameView.cpp:
1507 (WebCore::FrameView::layoutIfNeededRecursive):
1508 (WebCore::FrameView::flushDeferredRepaints):
1511 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
1513 Reviewed by Eric Seidel.
1515 [V8] Expose files from the pasteboard in drop events.
1516 https://bugs.webkit.org/show_bug.cgi?id=28782
1518 Update chromium port to expose dataTransfer.files() as per
1519 HTML5 drag drop (Aug 2009 edition).
1521 * platform/chromium/ClipboardChromium.cpp:
1523 2009-08-27 Yury Semikhatsky <yurys@chromium.org>
1525 Reviewed by Dmitry Glazkov.
1527 ScriptState now keeps explicit Handle of devtools front-end
1528 utility context instead of trying to retrieve it from inspected
1531 https://bugs.webkit.org/show_bug.cgi?id=28772
1533 * bindings/v8/ScriptController.cpp:
1534 (WebCore::ScriptController::ScriptController):
1535 * bindings/v8/ScriptController.h:
1536 * bindings/v8/ScriptObjectQuarantine.cpp:
1537 (WebCore::getQuarantinedScriptObject):
1538 * bindings/v8/ScriptScope.cpp:
1539 (WebCore::ScriptScope::ScriptScope):
1540 * bindings/v8/ScriptState.cpp:
1541 (WebCore::ScriptState::ScriptState):
1542 (WebCore::ScriptState::~ScriptState):
1543 (WebCore::scriptStateFromPage):
1544 * bindings/v8/ScriptState.h:
1545 (WebCore::ScriptState::context):
1546 * bindings/v8/ScriptValue.h:
1547 (WebCore::ScriptValue::~ScriptValue):
1548 * inspector/InspectorController.h:
1549 (WebCore::InspectorController::frontendScriptState):
1551 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1553 Reviewed by Timothy Hatcher.
1555 WebInspector: Console won't close.
1557 https://bugs.webkit.org/show_bug.cgi?id=28778
1559 * inspector/front-end/ElementsPanel.js:
1560 (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1561 * inspector/front-end/utilities.js:
1562 (Node.prototype.isAncestor):
1564 2009-08-27 Eric Seidel <eric@webkit.org>
1566 Reviewed by Adam Barth.
1568 Fix a typo in files() causing image drags to have junk file arrays.
1569 https://bugs.webkit.org/show_bug.cgi?id=28755
1571 Test: editing/pasteboard/files-during-page-drags.html
1573 * platform/mac/ClipboardMac.mm:
1574 (WebCore::ClipboardMac::files):
1576 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1578 Not reviewed. Build fix for Chromium.
1580 * bindings/v8/DOMObjectsInclude.h:
1581 * bindings/v8/DerivedSourcesAllInOne.cpp:
1582 * bindings/v8/V8Index.cpp:
1583 * bindings/v8/V8Index.h:
1585 2009-08-27 Alexey Proskuryakov <ap@apple.com>
1589 * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
1591 2009-08-26 Alexey Proskuryakov <ap@apple.com>
1593 Reviewed by Adele Peterson.
1595 https://bugs.webkit.org/show_bug.cgi?id=28758
1596 <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
1598 Tests: fast/events/pageshow-pagehide-on-back-cached.html
1599 fast/events/pageshow-pagehide-on-back-uncached.html
1600 fast/events/pageshow-pagehide.html
1602 * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
1603 (this function is called both when a document goes away, and when it goes to b/f cache).
1605 * page/DOMWindow.cpp:
1606 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
1607 (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
1608 that can be installed on Window object.
1609 (WebCore::DOMWindow::onpagehide): Ditto.
1610 (WebCore::DOMWindow::setOnpagehide): Ditto.
1611 (WebCore::DOMWindow::onpageshow): Ditto.
1612 (WebCore::DOMWindow::setOnpageshow): Ditto.
1614 * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
1615 that isn't being restored from cache.
1617 * dom/PageTransitionEvent.cpp: Added.
1618 (WebCore::PageTransitionEvent::PageTransitionEvent):
1619 (WebCore::PageTransitionEvent::~PageTransitionEvent):
1620 (WebCore::PageTransitionEvent::initPageTransitionEvent):
1621 * dom/PageTransitionEvent.h: Added.
1622 (WebCore::PageTransitionEvent::create):
1623 (WebCore::PageTransitionEvent::isPageTransitionEvent):
1624 (WebCore::PageTransitionEvent::persisted):
1625 * dom/PageTransitionEvent.idl: Added.
1626 Add event class implementation.
1628 * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
1629 inline listener definition (note that adding listeners to document.body programmatically
1630 is not supported, matching Firefox).
1633 (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
1634 (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
1636 (WebCore::Document::createEvent): Ditto.
1638 * dom/Document.h: Added dispatchPageTransitionEvent.
1640 * DerivedSources.make:
1644 * WebCore.vcproj/WebCore.vcproj:
1645 * WebCore.xcodeproj/project.pbxproj:
1646 * WebCoreSources.bkl:
1647 * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
1648 * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
1651 * html/HTMLAttributeNames.in:
1653 * page/DOMWindow.idl:
1654 Do what it takes to add a new event type.
1656 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1658 Reviewed by NOBODY (build fix).
1660 Adding missing file from previous commit.
1662 https://bugs.webkit.org/show_bug.cgi?id=28740
1664 * inspector/front-end/SummaryBar.js: Added.
1665 (WebInspector.SummaryBar):
1666 (WebInspector.SummaryBar.prototype.get calculator):
1667 (WebInspector.SummaryBar.prototype.set calculator):
1668 (WebInspector.SummaryBar.prototype.reset):
1669 (WebInspector.SummaryBar.prototype.update):
1670 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1671 (WebInspector.SummaryBar.prototype._drawSwatch):
1672 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1673 (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1674 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1675 (WebInspector.SummaryBar.prototype._fadeOutRect):
1676 (WebInspector.SummaryBar.prototype._makeLegendElement):
1678 2009-08-27 Mikhail Naganov <mnaganov@chromium.org>
1680 Reviewed by Timothy Hatcher.
1682 Factor out Factor out summary bar from Resources panel.
1684 https://bugs.webkit.org/show_bug.cgi?id=28740
1687 * WebCore.vcproj/WebCore.vcproj:
1688 * inspector/front-end/ResourcesPanel.js:
1689 (WebInspector.ResourcesPanel.prototype.reset):
1690 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
1691 (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
1692 (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
1693 * inspector/front-end/SummaryBar.js: Added.
1694 (WebInspector.SummaryBar):
1695 (WebInspector.SummaryBar.prototype.get calculator):
1696 (WebInspector.SummaryBar.prototype.set calculator):
1697 (WebInspector.SummaryBar.prototype.reset):
1698 (WebInspector.SummaryBar.prototype.update):
1699 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1700 (WebInspector.SummaryBar.prototype._drawSwatch):
1701 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1702 (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1703 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1704 (WebInspector.SummaryBar.prototype._fadeOutRect):
1705 (WebInspector.SummaryBar.prototype._makeLegendElement):
1706 * inspector/front-end/WebKit.qrc:
1707 * inspector/front-end/inspector.css:
1708 * inspector/front-end/inspector.html:
1710 2009-08-26 Mikhail Naganov <mnaganov@chromium.org>
1712 Reviewed by Timothy Hatcher.
1714 Start adding heap profiler to Inspector (hidden behind a flag.)
1716 https://bugs.webkit.org/show_bug.cgi?id=28429
1718 * English.lproj/localizedStrings.js:
1719 * inspector/front-end/ProfilesPanel.js:
1720 (WebInspector.ProfilesPanel):
1721 (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1722 (WebInspector.ProfilesPanel.prototype.reset):
1723 (WebInspector.ProfilesPanel.prototype.addProfile):
1724 (WebInspector.ProfilesPanel.prototype._updateInterface):
1725 (WebInspector.ProfilesPanel.prototype._snapshotClicked):
1726 * inspector/front-end/inspector.css:
1727 * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
1729 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1731 Reviewed by Timothy Hatcher.
1733 WebInspector: Metrics sidebar editing is broken.
1735 https://bugs.webkit.org/show_bug.cgi?id=28434
1737 * inspector/front-end/MetricsSidebarPane.js:
1738 (WebInspector.MetricsSidebarPane.prototype.update):
1740 2009-08-27 Darin Fisher <darin@chromium.org>
1742 Reviewed by Dimitri Glazkov.
1744 https://bugs.webkit.org/show_bug.cgi?id=28767
1746 Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
1747 KURL.cpp. This makes the XSSAuditor tests pass when using KURLGoogle.
1749 * platform/KURLGoogle.cpp:
1750 (WebCore::decodeURLEscapeSequences):
1752 2009-08-27 Ariya Hidayat <ariya.hidayat@nokia.com>
1754 Reviewed by Tor Arne Vestbø.
1756 [Qt] Build fix, missing functions after r47763.
1758 * platform/qt/Localizations.cpp:
1759 (WebCore::localizedMediaControlElementString):
1760 (WebCore::localizedMediaControlElementHelpText):
1761 (WebCore::localizedMediaTimeDescription):
1763 2009-08-26 Dumitru Daniliuc <dumi@chromium.org>
1765 Reviewed by Adam Barth.
1767 Removing trailing whitespaces from all storage classes.
1769 https://bugs.webkit.org/show_bug.cgi?id=28075
1771 * storage/ChangeVersionWrapper.cpp:
1772 * storage/Database.cpp:
1773 * storage/Database.h:
1774 * storage/DatabaseDetails.h:
1775 * storage/DatabaseThread.cpp:
1776 * storage/DatabaseTracker.cpp:
1777 * storage/DatabaseTracker.h:
1778 * storage/LocalStorageTask.cpp:
1779 * storage/LocalStorageTask.h:
1780 * storage/LocalStorageThread.cpp:
1781 * storage/LocalStorageThread.h:
1782 * storage/OriginQuotaManager.cpp:
1783 * storage/OriginUsageRecord.cpp:
1784 * storage/OriginUsageRecord.h:
1785 * storage/SQLError.h:
1786 * storage/SQLResultSetRowList.h:
1787 * storage/SQLStatement.cpp:
1788 * storage/SQLStatement.h:
1789 * storage/SQLStatementCallback.h:
1790 * storage/SQLStatementErrorCallback.h:
1791 * storage/SQLTransaction.cpp:
1792 * storage/SQLTransaction.h:
1793 * storage/SQLTransactionCallback.h:
1794 * storage/SQLTransactionErrorCallback.h:
1795 * storage/Storage.cpp:
1796 * storage/Storage.h:
1797 * storage/StorageArea.h:
1798 * storage/StorageAreaImpl.cpp:
1799 * storage/StorageAreaImpl.h:
1800 * storage/StorageAreaSync.cpp:
1801 * storage/StorageAreaSync.h:
1802 * storage/StorageEvent.cpp:
1803 * storage/StorageEvent.h:
1804 * storage/StorageMap.cpp:
1805 * storage/StorageMap.h:
1806 * storage/StorageNamespaceImpl.cpp:
1807 * storage/StorageSyncManager.cpp:
1808 * storage/StorageSyncManager.h:
1810 2009-08-26 Dave Hyatt <hyatt@apple.com>
1812 Reviewed by Anders Carlsson.
1814 https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
1816 Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen. We need
1817 to do this in order for overflow information to be properly recomputed.
1819 * rendering/style/RenderStyle.cpp:
1820 (WebCore::RenderStyle::diff):
1822 2009-08-26 Eric Carlson <eric.carlson@apple.com>
1824 Reviewed by Simon Fraser.
1826 HTMLMediaElement sometimes loses events
1827 https://bugs.webkit.org/show_bug.cgi?id=28762
1828 <rdar://problem/7172437>
1830 A media element triggers the resource selection algorithm ifÂ
1831 play() is called when the networkState attribute is NETWORK_EMPTY, but
1832 it also immediately queues 'play' and either 'waiting' or 'playing' events.
1833 One of the steps in preparing to load is to flush pending events, so thoseÂ
1834 events were lost if the load timer fired quickly enough. Fixed by deleting
1835 pending events before scheduling the load timer.
1837 Test: media/audio-play-event.html
1839 * html/HTMLMediaElement.cpp:
1840 (WebCore::HTMLMediaElement::scheduleLoad):
1841 Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of
1842 pending events is flushed immediately.
1843 (WebCore::HTMLMediaElement::scheduleNextSourceChild):
1844 New, start the load timer without flushing pending events.
1845 (WebCore::HTMLMediaElement::load):
1846 Call prepareForLoad();
1847 (WebCore::HTMLMediaElement::prepareForLoad):
1848 New, load setup code moved from loadInternal.
1849 (WebCore::HTMLMediaElement::loadInternal):
1850 Moved some setup code to prepareForLoad so it can be invoked immediately before
1851 arming the load timer.
1852 (WebCore::HTMLMediaElement::setNetworkState):
1853 Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
1855 * html/HTMLMediaElement.h:
1856 Declare scheduleNextSourceChild.
1858 2009-08-26 Peter Kasting <pkasting@google.com>
1860 Reviewed by Eric Seidel.
1862 https://bugs.webkit.org/show_bug.cgi?id=28751
1863 Switch ICO decoder from a Vector of raw pointers to a Vector of
1864 OwnPtrs now that that is possible. Makes code slightly simpler.
1866 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1867 (WebCore::ICOImageDecoder::decodeAtIndex):
1868 (WebCore::ICOImageDecoder::processDirectory):
1869 * platform/image-decoders/ico/ICOImageDecoder.h:
1871 2009-08-26 Dave Hyatt <hyatt@apple.com>
1873 Reviewed by Dan Bernstein.
1875 https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
1876 Make sure vertical overflow is still computed across self-painting layers, even though it isn't
1877 propagated to parents.
1879 Added fast/repaint/rel-positioned-inline-with-overflow.html
1881 * rendering/InlineFlowBox.cpp:
1882 (WebCore::InlineFlowBox::computeVerticalOverflow):
1884 2009-08-26 David Levin <levin@chromium.org>
1886 Reviewed by Darin Fisher.
1888 ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
1889 https://bugs.webkit.org/show_bug.cgi?id=28735
1891 Renaming the method to imply its wider implications of affecting cookies
1892 over any protocol that supports them.
1894 No change in functionality so no new tests.
1897 * loader/DocumentThreadableLoader.cpp:
1898 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1899 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1900 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1901 * platform/network/ResourceRequestBase.cpp:
1902 (WebCore::ResourceRequestBase::adopt):
1903 (WebCore::ResourceRequestBase::copyData):
1904 (WebCore::ResourceRequestBase::allowCookies):
1905 (WebCore::ResourceRequestBase::setAllowCookies):
1906 (WebCore::equalIgnoringHeaderFields):
1907 * platform/network/ResourceRequestBase.h:
1908 (WebCore::ResourceRequestBase::ResourceRequestBase):
1909 * platform/network/cf/ResourceRequestCFNet.cpp:
1910 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1911 (WebCore::ResourceRequest::doUpdateResourceRequest):
1912 * platform/network/mac/ResourceRequestMac.mm:
1913 (WebCore::ResourceRequest::doUpdateResourceRequest):
1914 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1915 * platform/network/soup/ResourceRequestSoup.cpp:
1916 (WebCore::ResourceRequest::updateFromSoupMessage):
1918 2009-08-26 Dan Bernstein <mitz@apple.com>
1920 Reviewed by Dave Hyatt.
1922 Made RenderInline::clippedOverflowRectForRepaint() actually include
1925 Test: fast/repaint/inline-overflow.html
1927 * rendering/RenderInline.cpp:
1928 (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
1929 the bounding box of all lines’ visible overflow boxes (under the
1930 assumption that the first and last lines determine the top and
1931 bottom, respectively).
1932 (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
1933 linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
1934 * rendering/RenderInline.h:
1936 2009-08-26 John Gregg <johnnyg@google.com>
1938 Reviewed by David Levin.
1940 minor style correction and include fix for notifications
1941 https://bugs.webkit.org/show_bug.cgi?id=28745
1943 No change in behavior, so no tests.
1945 * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
1946 * notifications/Notification.cpp: change enum style to InterCaps
1947 (WebCore::Notification::Notification):
1948 * notifications/NotificationPresenter.h:
1949 (WebCore::NotificationPresenter::):
1951 2009-08-25 Drew Wilson <atwilson@google.com>
1953 Reviewed by David Levin.
1955 postMessage() spec now supports sending arrays of ports
1956 https://bugs.webkit.org/show_bug.cgi?id=26902
1958 Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
1960 No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
1962 * WebCore.xcodeproj/project.pbxproj:
1963 Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
1964 * dom/MessageEvent.cpp:
1965 Updated APIs to support passing MessagePortArrays.
1966 (WebCore::MessageEvent::MessageEvent):
1967 (WebCore::MessageEvent::initMessageEvent):
1968 (WebCore::MessageEvent::messagePort):
1969 * dom/MessageEvent.h:
1970 (WebCore::MessageEvent::create):
1971 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1972 (WebCore::MessageEvent::ports):
1973 * dom/MessagePort.cpp:
1974 (WebCore::MessagePort::postMessage):
1975 (WebCore::MessagePort::dispatchMessages):
1976 (WebCore::MessagePort::disentanglePorts):
1977 Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
1978 (WebCore::MessagePort::entanglePorts):
1979 Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
1980 * dom/MessagePort.h:
1981 * dom/MessagePortChannel.cpp:
1982 EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
1983 (WebCore::MessagePortChannel::EventData::create):
1984 (WebCore::MessagePortChannel::EventData::EventData):
1985 * dom/MessagePortChannel.h:
1986 (WebCore::MessagePortChannel::EventData::channels):
1987 * page/DOMWindow.cpp:
1988 (WebCore::PostMessageTimer::PostMessageTimer):
1989 (WebCore::PostMessageTimer::event):
1990 (WebCore::DOMWindow::postMessage):
1991 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1993 * workers/DedicatedWorkerContext.cpp:
1994 (WebCore::DedicatedWorkerContext::postMessage):
1995 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1996 (WebCore::DedicatedWorkerContext::dispatchMessage):
1997 * workers/DedicatedWorkerContext.h:
1998 * workers/Worker.cpp:
1999 (WebCore::Worker::postMessage):
2000 Now accepts a MessagePortArray parameter instead of a single MessagePort.
2001 (WebCore::Worker::dispatchMessage):
2003 * workers/WorkerContextProxy.h:
2004 * workers/WorkerMessagingProxy.cpp:
2005 Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
2006 (WebCore::MessageWorkerContextTask::create):
2007 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
2008 (WebCore::MessageWorkerContextTask::performTask):
2009 (WebCore::MessageWorkerTask::create):
2010 (WebCore::MessageWorkerTask::MessageWorkerTask):
2011 (WebCore::MessageWorkerTask::performTask):
2012 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2013 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2014 * workers/WorkerMessagingProxy.h:
2015 * workers/WorkerObjectProxy.h:
2016 Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
2018 2009-08-26 Fumitoshi Ukai <ukai@chromium.org>
2020 Reviewed by Alexey Proskuryakov.
2022 SocketStreamHandle interface for WebSocket API
2023 https://bugs.webkit.org/show_bug.cgi?id=28037
2025 Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
2026 Other build systems will be updated once the code is functional.
2027 Tests will be landed once this code is complete and functional.
2030 * WebCore.xcodeproj/project.pbxproj:
2031 * platform/network/SocketStreamErrorBase.cpp: Added.
2032 * platform/network/SocketStreamErrorBase.h: Added.
2033 * platform/network/SocketStreamHandleBase.cpp: Added.
2034 * platform/network/SocketStreamHandleBase.h: Added.
2035 * platform/network/SocketStreamHandleClient.h: Added.
2036 * platform/network/cf/SocketStreamError.h: Added.
2037 * platform/network/cf/SocketStreamHandle.h: Added.
2038 * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
2039 * platform/network/soup/SocketStreamError.h: Added.
2040 * platform/network/soup/SocketStreamHandle.h: Added.
2041 * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
2043 2009-08-26 Mads Ager <ager@chromium.org>
2045 Reviewed by Dimitri Glazkov.
2047 [V8] setTimeout does not convert non-string argument to string
2048 https://bugs.webkit.org/show_bug.cgi?id=28739
2050 Convert non-string argument to setTimeout to string in the V8
2053 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2054 (WebCore::V8Custom::WindowSetTimeoutImpl):
2056 2009-08-25 Oliver Hunt <oliver@apple.com>
2058 Reviewed by Gavin Barraclough.
2060 [ES5] Implement getOwnPropertyDescriptor
2061 https://bugs.webkit.org/show_bug.cgi?id=28724
2063 Implement the WebCore side of getOwnPropertyDescriptor. This
2064 requires a custom implementation of getOwnPropertyDescriptor
2065 for every class with a custom implementation of getOwnPropertySlot.
2067 The bindings generator has been updated to generate appropriate
2068 versions of getOwnPropertyDescriptor for the general case where
2069 a custom getOwnPropertyDescriptor is not needed. ES5 is vague
2070 about how getOwnPropertyDescriptor should work in the context of
2071 "host" functions with polymorphic [[GetOwnProperty]], so it seems
2072 okay that occasionally we "guess" what attributes -- eg. determining
2073 whether a property is writable.
2075 Test: fast/js/getOwnPropertyDescriptor.html
2077 * bindings/js/JSDOMWindowCustom.cpp:
2078 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2079 * bindings/js/JSDOMWindowShell.cpp:
2080 (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
2081 * bindings/js/JSDOMWindowShell.h:
2082 * bindings/js/JSHTMLAppletElementCustom.cpp:
2083 (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
2084 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2085 (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
2086 * bindings/js/JSHTMLObjectElementCustom.cpp:
2087 (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
2088 * bindings/js/JSHistoryCustom.cpp:
2089 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2090 * bindings/js/JSLocationCustom.cpp:
2091 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2092 * bindings/js/JSNamedNodesCollection.cpp:
2093 (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
2094 * bindings/js/JSNamedNodesCollection.h:
2095 * bindings/js/JSPluginElementFunctions.cpp:
2096 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2097 * bindings/js/JSPluginElementFunctions.h:
2098 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2099 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
2100 * bindings/js/JSQuarantinedObjectWrapper.h:
2101 * bindings/js/JSWorkerContextCustom.cpp:
2102 (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
2103 * bindings/scripts/CodeGeneratorJS.pm:
2104 * bridge/objc/objc_runtime.h:
2105 * bridge/objc/objc_runtime.mm:
2106 (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
2108 (JSC::Bindings::Instance::getOwnPropertyDescriptor):
2109 * bridge/runtime_array.cpp:
2110 (JSC::RuntimeArray::getOwnPropertyDescriptor):
2111 * bridge/runtime_array.h:
2112 * bridge/runtime_method.cpp:
2113 (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2114 * bridge/runtime_method.h:
2115 * bridge/runtime_object.cpp:
2116 (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
2117 * bridge/runtime_object.h:
2119 2009-08-26 Vincent Untz <vuntz@gnome.org>
2121 Reviewed by Xan Lopez.
2123 GObject checks for NULL (and not 0) in g_object_get, so use that
2124 as we were already doing elsewhere to make the compiler happy.
2126 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2127 (WebCore::MediaPlayerPrivate::hasAudio):
2129 2009-08-26 Alpha Lam <hclam@chromium.org>
2131 Reviewed by David Levin.
2133 RenderThemeMac.mm has incorrect casting for media control element.
2134 https://bugs.webkit.org/show_bug.cgi?id=28730
2136 MediaControlMuteButtonElement was incorrectly casted to
2137 MediaControlPlayButtonElement. This is corrected in this patch.
2139 No new tests because this is code cleanup and is already covered by existing
2142 * rendering/RenderThemeMac.mm:
2143 (WebCore::RenderThemeMac::paintMediaMuteButton):
2145 2009-08-26 Robert Sesek <rsesek@chromium.org>
2147 Reviewed by Eric Seidel.
2149 [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
2150 https://bugs.webkit.org/show_bug.cgi?id=28670
2152 Change the condition regarding the key modifier check for non-contiguous
2153 selection on a multi-value list from just PLATFORM(MAC) to
2154 PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
2156 No new tests. This patch only changes the condition on which a certain mouse
2157 event modifier key is used.
2159 * dom/SelectElement.cpp:
2160 (WebCore::SelectElement::listBoxDefaultEventHandler):
2162 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2164 Reviewed by Dan Bernstein
2166 r47744 causes media/video-controls-with-mutation-event-handler.html to crash
2167 https://bugs.webkit.org/show_bug.cgi?id=28732
2169 * rendering/MediaControlElements.cpp:
2170 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2171 Don't call setAttribute from the construtor, any registered mutation event
2172 listener will cause a crash.
2174 * rendering/RenderMedia.cpp:
2175 (WebCore::RenderMedia::createVolumeSlider):
2176 Set the maxAttr here instead of in the constructor.
2178 2009-08-25 Dmitry Titov <dimich@chromium.org>
2180 Reviewed by Brady Eidson.
2182 Timers from cached pages fire instantly rather than the after the specified timeout delay
2183 https://bugs.webkit.org/show_bug.cgi?id=28683
2185 Test: fast/dom/Window/timer-resume-on-navigation-back.html
2187 * history/CachedPage.cpp:
2188 (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
2189 it should be done only once in FrameLoader::open(cachedFrame)
2190 * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
2191 (WebCore::DOMTimer::DOMTimer): Ditto.
2192 (WebCore::DOMTimer::suspend): Ditto.
2193 (WebCore::DOMTimer::resume): Ditto.
2194 * page/DOMTimer.h: Ditto.
2196 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2198 Reviewed by Simon Fraser.
2200 Setting the volume of a media element has no effect if called too early
2201 https://bugs.webkit.org/show_bug.cgi?id=28731
2203 * manual-tests/audio-volume.html:
2206 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2207 (WebCore::MediaPlayerPrivate::setVolume):
2208 (WebCore::MediaPlayerPrivate::setRate):
2209 Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
2210 volume as soon as the movie has been created.
2212 2009-08-25 David Levin <levin@chromium.org>
2214 Reviewed by Maciej Stachowiak.
2216 DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
2217 https://bugs.webkit.org/show_bug.cgi?id=28728
2219 Test: This code path is exercised while running xhr layout tests in chromium.
2221 * loader/DocumentThreadableLoader.cpp:
2222 (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
2223 back synchronously, the loader is 0, so the assert is changed to allow for that.
2224 (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
2225 done before SubresourceLoader::create finishes, so ensure that any previous loader
2226 -- from a preflight request -- is cleared before calling SubresourceLoader::create.
2228 2009-08-25 Mark Rowe <mrowe@apple.com>
2230 Stop installing IDL files in to the framework.
2232 * WebCore.xcodeproj/project.pbxproj:
2234 2009-08-25 Kent Tamura <tkent@chromium.org>
2236 Reviewed by Eric Seidel.
2238 Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
2239 https://bugs.webkit.org/show_bug.cgi?id=27756
2241 Tests: fast/forms/input-list.html
2242 fast/forms/input-selectedoption.html
2244 * html/HTMLAttributeNames.in:
2245 * html/HTMLInputElement.cpp:
2246 (WebCore::HTMLInputElement::parseMappedAttribute):
2247 (WebCore::HTMLInputElement::list):
2248 (WebCore::HTMLInputElement::selectedOption):
2249 * html/HTMLInputElement.h:
2250 * html/HTMLInputElement.idl:
2252 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2254 Reviewed by Oliver Hunt.
2256 <video> and <audio> controller should be accessible (edit)
2257 https://bugs.webkit.org/show_bug.cgi?id=28081
2259 Test: accessibility/media-element.html
2264 * WebCore.vcproj/WebCore.vcproj:
2265 * WebCore.xcodeproj/project.pbxproj:
2266 * WebCoreSources.bkl:
2267 Add AccessibilityMediaControls.cpp/.h
2269 * accessibility/AXObjectCache.cpp:
2270 * accessibility/AXObjectCache.h:
2271 (WebCore::AXObjectCache::getOrCreate):
2272 Create AccessibilityMediaControl. Update Copyright
2274 * accessibility/AccessibilityMediaControls.cpp:
2275 * accessibility/AccessibilityMediaControls.h:
2278 * accessibility/AccessibilityObject.cpp:
2279 * accessibility/AccessibilityObject.h:
2280 Add isMediaTimeline. Update Copyright.
2282 * accessibility/AccessibilitySlider.h:
2283 Make constructor protected instead of private so AccessibilityMediaTimeline can
2286 * accessibility/mac/AccessibilityObjectWrapper.mm:
2287 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2288 Add NSAccessibilityValueDescriptionAttribute to range attributes.
2289 (-[AccessibilityObjectWrapper subrole]):
2290 Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
2293 add isMediaControlElement.
2295 * page/mac/WebCoreViewFactory.h:
2296 * platform/LocalizedStrings.h:
2297 * platform/mac/LocalizedStringsMac.mm:
2298 (WebCore::localizedMediaControlElementString):
2299 (WebCore::localizedMediaControlElementHelpText):
2300 (WebCore::localizedMediaTimeDescription):
2301 New, return localized media controller strings.
2303 * platform/gtk/LocalizedStringsGtk.cpp:
2304 (WebCore::mediaElementLoadingStateText):
2305 (WebCore::mediaElementLiveBroadcastStateText):
2306 Move inside of "#if ENABLE(VIDEO)"
2307 (WebCore::localizedMediaControlElementString):
2308 (WebCore::localizedMediaControlElementHelpText):
2309 (WebCore::localizedMediaTimeDescription):
2311 * rendering/MediaControlElements.cpp:
2312 (WebCore::MediaControlElement::MediaControlElement):
2313 Initialize m_displayType.
2314 (WebCore::MediaControlElement::MediaControlElement):
2315 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
2317 (WebCore::MediaControlInputElement::MediaControlInputElement):
2318 Set m_displayType based on pseudo style ID.
2319 (WebCore::MediaControlInputElement::MediaControlInputElement):
2320 rename local "o" to "object".
2321 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
2322 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
2323 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
2324 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
2325 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
2326 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2327 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2328 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2329 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2330 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2331 Update for MediaControlInputElement constructor change.
2332 (WebCore::MediaControlTimeDisplayElement::formatTime):
2333 New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
2334 (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
2335 New, set text to current time.
2336 * rendering/MediaControlElements.h:
2338 * rendering/RenderMedia.cpp:
2339 (WebCore::RenderMedia::updateControls):
2340 Create controls in tab order.
2341 (WebCore::RenderMedia::formatTime):
2342 Moved to MediaControlTimeDisplayElement::formatTime.
2343 (WebCore::RenderMedia::updateTimeDisplay):
2344 Call MediaControlTimeDisplayElement::setCurrentValue.
2345 * rendering/RenderMedia.h:
2347 2009-08-25 Jian Li <jianli@chromium.org>
2349 Reviewed by David Levin.
2351 [V8] Fix Canvas layout test failures in Chromium build.
2352 https://bugs.webkit.org/show_bug.cgi?id=28720
2354 The previous fix r47757 does not handle the V8 object conversion correctly.
2356 * bindings/v8/custom/V8DocumentCustom.cpp:
2357 (WebCore::CALLBACK_FUNC_DECL):
2358 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2359 (WebCore::CALLBACK_FUNC_DECL):
2361 2009-08-25 Jian Li <jianli@chromium.org>
2363 Reviewed by David Levin.
2365 [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
2366 https://bugs.webkit.org/show_bug.cgi?id=28717
2368 * bindings/v8/DOMObjectsInclude.h:
2369 * bindings/v8/DerivedSourcesAllInOne.cpp:
2370 * bindings/v8/V8Index.cpp:
2371 * bindings/v8/V8Index.h:
2372 * bindings/v8/custom/V8DocumentCustom.cpp:
2373 (WebCore::CALLBACK_FUNC_DECL):
2374 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2375 (WebCore::CALLBACK_FUNC_DECL):
2377 2009-08-25 Alpha Lam <hclam@chromium.org>
2379 Reviewed by David Levin.
2381 [chromium] Implement media volume slider for chromium
2382 https://bugs.webkit.org/show_bug.cgi?id=28715
2384 Provided the implementation of the volume slider and its container for
2385 chromium port. With this change there will be a usable volume control
2386 slider for chromium theme.
2388 No new tests since this is covered by existing media layout tests.
2390 * css/mediaControlsChromium.css: CSS style for the volume slider.
2391 * rendering/RenderThemeChromiumSkia.cpp:
2392 (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
2393 (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
2394 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
2395 (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
2396 (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
2397 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
2399 2009-08-25 Chris Marrin <cmarrin@apple.com>
2401 Reviewed by Simon Fraser.
2403 Missed checking in 2 Canvas3D files
2404 https://bugs.webkit.org/show_bug.cgi?id=28018
2406 * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
2407 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
2409 2009-08-25 Mads Ager <ager@chromium.org>
2411 Reviewed by Adam Barth.
2413 [V8] Exception from JavaScript propagates to main script
2414 https://bugs.webkit.org/show_bug.cgi?id=26433
2416 Make sure that exceptions thrown both at compile time and at
2417 runtime in javascript URLs are isolated from the main script.
2419 Test: fast/dom/javascript-url-exception-isolation.html
2421 * bindings/v8/V8Proxy.cpp:
2422 (WebCore::V8Proxy::evaluate):
2424 2009-08-25 Chris Marrin <cmarrin@apple.com>
2426 Reviewed by Simon Fraser.
2428 Added all new Canvas3D files to the build
2429 https://bugs.webkit.org/show_bug.cgi?id=28018
2431 This also hooks up CanvasRenderingContext as the common base class for
2432 CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
2433 of logic throughout to support the new CanvasRenderingContext3D object.
2434 But nothing is hooked up yet.
2436 * DerivedSources.make:
2438 * WebCore.vcproj/WebCore.vcproj:
2439 * WebCore/GNUmakefile.am:
2440 * WebCore/WebCore.gypi:
2441 * WebCore/WebCoreSources.bkl:
2442 * WebCore.xcodeproj/project.pbxproj:
2443 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2444 (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2445 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2446 (WebCore::JSCanvasRenderingContext2D::fillStyle):
2447 (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2448 (WebCore::JSCanvasRenderingContext2D::setFillColor):
2449 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2450 (WebCore::JSCanvasRenderingContext2D::strokeRect):
2451 (WebCore::JSCanvasRenderingContext2D::drawImage):
2452 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2453 (WebCore::JSCanvasRenderingContext2D::setShadow):
2454 (WebCore::JSCanvasRenderingContext2D::createPattern):
2455 (WebCore::JSCanvasRenderingContext2D::putImageData):
2456 (WebCore::JSCanvasRenderingContext2D::fillText):
2457 (WebCore::JSCanvasRenderingContext2D::strokeText):
2458 * bindings/js/JSDOMBinding.cpp:
2459 (WebCore::isObservableThroughDOM):
2460 * bindings/js/JSDocumentCustom.cpp:
2461 * bindings/js/JSHTMLCanvasElementCustom.cpp:
2462 (WebCore::JSHTMLCanvasElement::markChildren):
2464 (WebCore::Document::getCSSCanvasContext):
2466 * html/HTMLCanvasElement.cpp:
2467 (WebCore::HTMLCanvasElement::getContext):
2468 (WebCore::HTMLCanvasElement::willDraw):
2469 (WebCore::HTMLCanvasElement::reset):
2470 (WebCore::HTMLCanvasElement::paint):
2471 (WebCore::HTMLCanvasElement::is3D):
2472 (WebCore::HTMLCanvasElement::context3D):
2473 (WebCore::HTMLCanvasElement::texture3D):
2474 * html/HTMLCanvasElement.h:
2475 (WebCore::HTMLCanvasElement::renderingContext):
2476 * html/canvas/CanvasObject.cpp:
2477 (WebCore::CanvasObject::~CanvasObject):
2478 * html/canvas/CanvasRenderingContext.idl:
2479 * html/canvas/CanvasRenderingContext2D.cpp:
2480 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2481 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2482 * html/canvas/CanvasRenderingContext2D.h:
2483 (WebCore::CanvasRenderingContext2D::is2d):
2484 * html/canvas/CanvasRenderingContext2D.idl:
2485 * html/canvas/CanvasRenderingContext3D.cpp:
2486 * html/canvas/CanvasRenderingContext3D.idl:
2488 2009-08-25 Dan Bernstein <mitz@apple.com>
2490 Reviewed by Anders Carlsson.
2492 REGRESSION (r47630): fast/repaint/background-generated.html is failing
2493 https://bugs.webkit.org/show_bug.cgi?id=28704
2495 * rendering/RenderBoxModelObject.cpp:
2496 (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
2497 * rendering/style/FillLayer.cpp:
2498 (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
2499 * rendering/style/FillLayer.h:
2500 (WebCore::FillSize::FillSize): Changed assignment to initialization and
2501 removed redundant assignment to size.
2503 2009-08-25 Yusuke Sato <yusukes@chromium.org>
2505 Reviewed by Darin Fisher.
2507 [Chromium] Complex text doesn't show up with text stroking
2508 https://bugs.webkit.org/show_bug.cgi?id=28707
2510 Skip the NULL check of m_hdc if Windows GDI is not in use.
2512 * platform/graphics/chromium/FontChromiumWin.cpp:
2513 (WebCore::Font::drawComplexText):
2515 2009-08-25 Alpha Lam <hclam@chromium.org>
2517 Reviewed by David Levin.
2519 Media controls panel does not have a volume control slider
2520 https://bugs.webkit.org/show_bug.cgi?id=28241
2522 Introduced "-webkit-media-controls-volume-slider",
2523 "-webkit-media-controls-volume-slider-container" and the supporting
2524 implementation. Also added appearances of "media-volume-slider" and
2525 "media-volume-slider-container".
2527 The implementation of the controls are in WebCore::MediaControlElements.
2528 Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
2530 No new tests since this change doesn't have theme implementation and the
2531 volume slider is disabled by default.
2533 * accessibility/AccessibilitySlider.cpp:
2534 (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
2535 * css/CSSPrimitiveValueMappings.h:
2536 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
2537 * css/CSSSelector.cpp:
2538 (WebCore::CSSSelector::extractPseudoType): ditto.
2539 * css/CSSSelector.h:
2540 (WebCore::CSSSelector::): ditto.
2541 * css/CSSStyleSelector.cpp:
2542 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
2543 * css/CSSValueKeywords.in: ditto.
2544 * css/mediaControls.css: Makes the volume slider disabled by default.
2545 * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
2547 * rendering/MediaControlElements.cpp:
2548 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
2549 (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
2550 Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
2551 (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
2552 (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
2553 (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
2554 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2555 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
2556 * rendering/MediaControlElements.h:
2557 (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
2558 (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
2559 * rendering/RenderMedia.cpp:
2560 (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
2561 (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
2562 (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
2563 (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
2564 (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
2565 (WebCore::RenderMedia::forwardEvent):
2566 Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
2567 * rendering/RenderMedia.h:
2568 Added definition for RenderMedia::updateVolumeSliderContainer().
2569 * rendering/RenderMediaControls.cpp:
2570 (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
2571 * rendering/RenderSlider.cpp:
2572 (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
2573 (WebCore::RenderSlider::thumbRect): ditto.
2574 (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
2575 (WebCore::RenderSlider::setValueForPosition): ditto.
2576 (WebCore::RenderSlider::positionForOffset): ditto.
2577 (WebCore::RenderSlider::currentPosition): ditto.
2578 (WebCore::RenderSlider::trackSize): ditto.
2579 * rendering/RenderTheme.cpp:
2580 (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
2581 (WebCore::RenderTheme::paint): Paints volume control parts using theme.
2582 * rendering/RenderTheme.h:
2583 (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
2584 (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
2585 (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
2586 * rendering/style/RenderStyleConstants.h:
2587 (WebCore::): Constants for volume control parts.
2589 2009-08-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2591 Reviewed by Ariya Hidayat.
2593 [Qt/Mac] Use CONFIG+=build_all only when building libraries
2595 If no configuration is specified when building WebKit we pass the
2596 debug_and_release option to QMake which results in Makefiles for
2597 both configurations being generated.
2599 Previously we built both of these configurations by default, for
2600 all targets (both the QtWebKit framework/dyldlib and the various
2601 executables such as QtLauncher and tests). This makes sense for
2602 the libraries, which get the _debug suffix and can be loaded on
2603 demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
2604 ended up building the same executable twice.
2606 We now only build one instance of each executable, and since this
2607 is a developer build we build the debug-version. Passing either
2608 --debug or --release to build-webkit will override this, and
2609 even in the default case the release version can still be built
2610 by running 'make release' in the the build directory of each
2615 2009-08-25 Xan Lopez <xlopez@igalia.com>
2617 Reviewed by Jan Alonzo.
2619 https://bugs.webkit.org/show_bug.cgi?id=28690
2620 Build failure in webkitgtk+-1.1.3
2622 Do not use deprecated function to unref a pixbuf.
2624 * platform/gtk/CursorGtk.cpp:
2625 (WebCore::Cursor::Cursor):
2627 2009-08-24 Hironori Bono <hbono@chromium.org>
2629 Reviewed by Adam Barth.
2631 Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
2632 <https://bugs.webkit.org/show_bug.cgi?id=27827>.
2634 Because of the lack of mappings from GDK key-codes to WebKit key-codes,
2635 Chromium cannot send valid key-codes to JavaScript when a user types
2636 function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
2638 To write layout tests for this issue, added mappings from function-key
2639 names to platform-specific key-codes to EventSendingController objects
2640 so that eventSender.keyDown() can send function-key events without using
2641 platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
2642 is only for Mac. So this change adds this new test to Skipped tests for other
2643 platforms to prevent this change from crashing the build trees.)
2645 Test: fast/events/keydown-function-keys.html
2647 * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
2648 to WebKit key-code for function keys.
2649 (WebCore::windowsKeyCodeForKeyEvent):
2651 2009-08-24 Antti Koivisto <antti@apple.com>
2653 Reviewed by Simon Fraser.
2655 https://bugs.webkit.org/show_bug.cgi?id=28698
2656 Avoid unnecessary transformations for the window resizer rect.
2658 * platform/Scrollbar.cpp:
2659 (WebCore::Scrollbar::setFrameRect):
2661 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2663 Reviewed by Anders Carlsson.
2665 <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
2666 (DNS prefetching support)
2668 * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
2669 thread on Windows, because there isn't one on main one.
2671 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2673 Reviewed by Darin Adler.
2675 https://bugs.webkit.org/show_bug.cgi?id=28374
2676 Cross-scheme requests should not be blocked by appcache rules
2678 Test: http/tests/appcache/different-scheme.html
2680 * loader/appcache/ApplicationCacheHost.cpp:
2681 (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
2682 Resources with different schemes can never be loaded from appcache.
2684 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2686 Reviewed by Darin Adler and Sam Weinig.
2688 https://bugs.webkit.org/show_bug.cgi?id=28688
2689 REGRESSION(r24994): Cannot create a frame with a javascript URL
2691 Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
2693 * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
2694 * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
2695 * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
2696 * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
2697 Omit the checks if there is no document in frame yet.
2699 2009-08-24 Nate Chapin <japhet@chromium.org>
2701 Reviewed by Eric Seidel.
2703 Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
2704 RenderStyle being accessed.
2706 https://bugs.webkit.org/show_bug.cgi?id=28681
2709 (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
2711 2009-08-24 Dan Bernstein <mitz@apple.com>
2713 Reviewed by Simon Fraser.
2715 <rdar://problem/5743105> Long freezing during loading and selecting text
2717 https://bugs.webkit.org/show_bug.cgi?id=14918
2719 * rendering/RenderView.cpp:
2720 (WebCore::RenderView::setSelection): Added calls to
2721 beginDeferredRepaints() and endDeferredRepaints() around the
2722 invalidation of the selection, in order to better coalesce multiple
2725 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2727 Reviewed by Timothy Hatcher.
2729 WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
2731 https://bugs.webkit.org/show_bug.cgi?id=28680
2733 * inspector/front-end/ElementsPanel.js:
2734 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2735 * inspector/front-end/ElementsTreeOutline.js:
2736 (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2737 * inspector/front-end/treeoutline.js:
2738 (TreeOutline.prototype.getCachedTreeElement):
2739 (TreeOutline.prototype.findTreeElement):
2740 * inspector/front-end/utilities.js:
2744 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2746 Reviewed by Timothy Hatcher.
2748 WebInspector: Do expand local scope when hitting the break
2750 https://bugs.webkit.org/show_bug.cgi?id=28678
2752 * inspector/front-end/ScopeChainSidebarPane.js:
2753 (WebInspector.ScopeChainSidebarPane.prototype.update):
2755 2009-08-24 Ada Chan <adachan@apple.com>
2757 Reviewed by Steve Falkenburg.
2759 Make sure we use the current FrameView's frame rect when
2760 going back to a cached page.
2762 https://bugs.webkit.org/show_bug.cgi?id=28659
2764 * loader/FrameLoader.cpp:
2765 (WebCore::FrameLoader::open):
2767 2009-08-24 Cameron McCormack <cam@mcc.id.au>
2769 Reviewed by Darin Adler.
2771 Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
2772 https://bugs.webkit.org/show_bug.cgi?id=28673
2774 Test: svg/dom/text-rotate-live.html
2776 * svg/SVGNumberList.cpp:
2777 (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
2780 2009-08-24 Simon Fraser <simon.fraser@apple.com>
2782 Reviewed by NOBODY (build fix)
2784 Turn off ENABLE_3D_CANVAS in the xconfig files.
2786 * Configurations/FeatureDefines.xcconfig:
2788 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2790 Reviewed by Timothy Hatcher.
2792 WebInspector: Only expand local scope when hitting the break
2794 https://bugs.webkit.org/show_bug.cgi?id=28678
2796 * inspector/front-end/ScopeChainSidebarPane.js:
2797 (WebInspector.ScopeChainSidebarPane.prototype.update):
2799 2009-08-24 Dan Bernstein <mitz@apple.com>
2801 Reviewed by Simon Fraser.
2803 background-size fails to parse if a single length/percentage/auto is followed by a comma
2804 https://bugs.webkit.org/show_bug.cgi?id=28674
2806 * css/CSSParser.cpp:
2807 (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
2808 which is set to false when this method consumes a comma. Moved
2809 handling of 'contain' and 'cover' from parseFillProperty into this
2811 (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
2812 processing the next value, and pass allowComma to parseFillSize.
2815 2009-08-17 Martin Robinson <martin.james.robinson@gmail.com>
2817 Reviewed by Gustavo Noronha.
2819 [GTK] Support for cursors that are images
2820 https://bugs.webkit.org/show_bug.cgi?id=28346
2822 Added support for cursors which are images for CursorGtk. Added
2823 a manual test for this.
2825 * manual-tests/gtk/cursor-image.html: Added.
2826 * manual-tests/gtk/resources/redcursor.cur: Added.
2827 * platform/gtk/CursorGtk.cpp:
2828 (WebCore::Cursor::Cursor):
2830 2009-08-24 Zan Dobersek <zandobersek@gmail.com>
2832 Reviewed by Gustavo Noronha.
2834 [GTK] Integrate GStreamer video with the graphics backend
2835 https://bugs.webkit.org/show_bug.cgi?id=16356
2837 Improves GStreamer backend implementation of MediaPlayerPrivate class.
2839 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2840 (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
2841 error for different GStreamer errors to MediaPlayerPrivate.
2842 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
2843 initialization boolean to a better place.
2844 (WebCore::MediaPlayerPrivate::play):
2845 (WebCore::MediaPlayerPrivate::pause):
2846 (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
2847 consider the source as stream if duration query failed.
2848 (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
2850 (WebCore::MediaPlayerPrivate::seek): Return if error occured.
2851 (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
2852 function doesn't seem to be used anywhere in WebCore.
2853 (WebCore::MediaPlayerPrivate::paused):
2854 (WebCore::MediaPlayerPrivate::seeking):
2855 (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
2856 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
2857 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
2858 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
2859 (WebCore::MediaPlayerPrivate::bytesLoaded):
2860 (WebCore::MediaPlayerPrivate::totalBytesKnown):
2861 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
2862 (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
2863 after seek ended with a successful change
2864 (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
2865 (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
2866 (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
2867 (WebCore::MediaPlayerPrivate::getSupportedTypes):
2868 (WebCore::MediaPlayerPrivate::supportsType):
2869 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2870 (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
2872 (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
2873 do not set playbin's audio sink.
2874 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2875 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2876 (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async
2877 queue at the end of the idle function.
2878 (webkit_video_sink_render): Increase reference count of async queue.
2879 (webkit_video_sink_stop): Remove any idle functions with the sink as data.
2881 2009-08-23 Chris Marrin <cmarrin@apple.com>
2883 Reviewed by Simon Fraser.
2885 Remaining new files for Canvas3D
2886 https://bugs.webkit.org/show_bug.cgi?id=28018
2888 * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
2889 * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
2890 * html/canvas/CanvasByteArray.h: Added.
2891 * html/canvas/CanvasByteArray.idl: Added.
2892 * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
2893 * html/canvas/CanvasNumberArray.h: Added.
2894 * html/canvas/CanvasNumberArray.idl: Added.
2896 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2898 Reviewed by Timothy Hatcher.
2900 WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
2902 https://bugs.webkit.org/show_bug.cgi?id=28408
2904 * inspector/front-end/CallStackSidebarPane.js:
2905 (WebInspector.CallStackSidebarPane.prototype.update):
2906 * inspector/front-end/ConsoleView.js:
2907 (WebInspector.ConsoleView.prototype.doEvalInWindow):
2908 (WebInspector.ConsoleTextMessage):
2909 * inspector/front-end/DOMAgent.js:
2910 (WebInspector.DOMAgent.prototype.get domWindow):
2911 (InspectorController.openInInspectedWindow):
2912 (InspectorController.getCallFrames):
2913 (InspectorController.evaluateInCallFrame):
2914 * inspector/front-end/ElementsPanel.js:
2915 (WebInspector.ElementsPanel.prototype.reset):
2916 (WebInspector.ElementsPanel.prototype.generateStylesheet):
2917 * inspector/front-end/InjectedScript.js:
2918 (InjectedScript.evaluate):
2919 (InjectedScript._evaluateOn):
2920 (InjectedScript.openInInspectedWindow):
2921 (InjectedScript.getCallFrames):
2922 (InjectedScript.evaluateInCallFrame):
2923 (InjectedScript._callFrameForId):
2924 (InjectedScript._objectForId):
2925 (InjectedScript.CallFrameProxy):
2926 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
2927 * inspector/front-end/ObjectPropertiesSection.js:
2928 (WebInspector.ObjectPropertiesSection.prototype._update):
2929 * inspector/front-end/ObjectProxy.js:
2930 (WebInspector.ObjectPropertyProxy):
2931 * inspector/front-end/ResourcesPanel.js:
2932 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2933 * inspector/front-end/ScopeChainSidebarPane.js:
2934 (WebInspector.ScopeChainSidebarPane):
2935 (WebInspector.ScopeChainSidebarPane.prototype.update):
2936 (WebInspector.ScopeVariableTreeElement.prototype.onattach):
2937 (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
2938 (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
2939 * inspector/front-end/ScriptsPanel.js:
2940 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2941 (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
2942 (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
2943 (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2945 2009-08-24 Kent Tamura <tkent@chromium.org>
2947 Reviewed by Eric Seidel.
2949 Add support for the placeholder attribute and DOM property of the textarea element.
2950 https://bugs.webkit.org/show_bug.cgi?id=21248
2952 A DOM node for an INPUT element doesn't have a flag for placeholder
2953 visibility anymore. This patch also fixes a bug that a renderer
2954 doesn't reflect a corresponding DOM value change.
2956 Tests: fast/forms/textarea-placeholder-dom-property.html
2957 fast/forms/textarea-placeholder-pseudo-style.html
2958 fast/forms/textarea-placeholder-set-attribute.html
2959 fast/forms/textarea-placeholder-set-value.html
2961 * css/html.css: Add the default style for placeholder of textarea.
2962 * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
2963 (WebCore::InputElement::dispatchFocusEvent):
2964 (WebCore::InputElement::dispatchBlurEvent):
2965 (WebCore::InputElement::placeholderShouldBeVisible):
2966 (WebCore::InputElement::updatePlaceholderVisibility):
2967 (WebCore::InputElement::setValueFromRenderer):
2968 (WebCore::InputElementData::InputElementData):
2969 * dom/InputElement.h:
2970 * html/HTMLInputElement.cpp:
2971 (WebCore::HTMLInputElement::dispatchFocusEvent):
2972 (WebCore::HTMLInputElement::dispatchBlurEvent):
2973 (WebCore::HTMLInputElement::setValue):
2974 (WebCore::HTMLInputElement::placeholderShouldBeVisible):
2975 * html/HTMLInputElement.h:
2976 (WebCore::HTMLInputElement::updatePlaceholderVisibility):
2977 * html/HTMLTextAreaElement.cpp:
2978 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2979 (WebCore::HTMLTextAreaElement::setValue):
2980 (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
2981 (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
2982 (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
2983 (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
2984 * html/HTMLTextAreaElement.h:
2985 * html/HTMLTextAreaElement.idl:
2986 * rendering/RenderTextControl.cpp:
2987 (WebCore::RenderTextControl::RenderTextControl):
2988 (WebCore::RenderTextControl::styleDidChange):
2989 (WebCore::RenderTextControl::setInnerTextStyle):
2990 (WebCore::RenderTextControl::updatePlaceholderVisibility):
2991 * rendering/RenderTextControl.h:
2992 * rendering/RenderTextControlMultiLine.cpp:
2993 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2994 (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2995 (WebCore::RenderTextControlMultiLine::updateFromElement):
2996 (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2997 (WebCore::RenderTextControlMultiLine::textBaseStyle):
2998 * rendering/RenderTextControlMultiLine.h:
2999 * rendering/RenderTextControlSingleLine.cpp:
3000 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3001 (WebCore::RenderTextControlSingleLine::textBaseStyle):
3002 (WebCore::RenderTextControlSingleLine::updateFromElement):
3003 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3004 * rendering/RenderTextControlSingleLine.h:
3005 * wml/WMLInputElement.cpp:
3006 (WebCore::WMLInputElement::dispatchFocusEvent):
3007 (WebCore::WMLInputElement::dispatchBlurEvent):
3008 (WebCore::WMLInputElement::setValue):
3009 (WebCore::WMLInputElement::placeholderShouldBeVisible):
3011 2009-08-23 Dirk Schulze <krit@webkit.org>
3013 Reviewed by Mark Rowe.
3015 Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
3016 into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
3017 files. They are needed there after r47688.
3020 * svg/SVGComponentTransferFunctionElement.h:
3021 * svg/SVGFELightElement.h:
3022 * svg/SVGFEMergeNodeElement.h:
3023 * svg/SVGFilterPrimitiveStandardAttributes.h:
3025 2009-08-23 Gustavo Noronha Silva <gns@gnome.org>
3027 Unreviewed, build fix for make distcheck on GTK+.
3029 * GNUmakefile.am: Added files needed for the build.
3030 * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
3032 * bindings/js/JSEventTarget.cpp: Dito.
3033 * dom/Document.cpp: Dito.
3034 * loader/FrameLoader.cpp: Dito.
3036 2009-08-23 Joseph Pecoraro <joepeck@webkit.org>
3038 Reviewed by Timothy Hatcher.
3040 Inspector: Throws an Error on "null"
3041 https://bugs.webkit.org/show_bug.cgi?id=28665
3043 * inspector/front-end/InjectedScript.js:
3044 (InjectedScript.evaluate):
3046 2009-08-23 Pavel Feldman <pfeldman@chromium.org>
3048 Reviewed by Timothy Hatcher.
3050 Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
3052 https://bugs.webkit.org/show_bug.cgi?id=28666
3054 * inspector/front-end/InjectedScript.js:
3055 (InjectedScript.getProperties):
3056 (InjectedScript.createProxyObject):
3058 2009-08-22 Martin Robinson <martin.james.robinson@gmail.com>
3060 Reviewed by Xan Lopez.
3062 [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
3063 https://bugs.webkit.org/show_bug.cgi?id=28345
3065 When doing the conversion between cairo_surface_t* and GdkPixbuf*
3066 account for the differences in the respective formats' in-memory
3069 * platform/graphics/gtk/ImageGtk.cpp:
3070 (WebCore::getCairoSurfacePixel):
3071 (WebCore::getGdkPixbufPixel):
3072 (WebCore::BitmapImage::getGdkPixbuf):
3074 2009-08-22 Darin Adler <darin@apple.com>
3076 Reviewed by Oliver Hunt.
3078 Make DOM classes start with a reference count of 1, like all other RefCounted
3080 Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
3081 HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
3082 HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
3084 * DerivedSources.make: Fix error seen every time we build by escaping the $
3085 in the build rule, since you have to use $$ for that in make.
3087 * WebCore.base.exp: Updated.
3089 * bindings/objc/DOM.mm:
3090 Added now-needed include of SVGNames.h.
3092 * dom/Document.cpp: Added now-needed include of SVGNames.h.
3093 (WebCore::Document::createElement): Use create instead of new.
3096 (WebCore::Element::Element): Added ConstructionType argument so the caller
3097 can determine whether this starts with a reference count of either 0 or 1.
3098 Later we will remove this again once they are all 1.
3099 (WebCore::Element::create): Added.
3101 * dom/Element.h: Added create and made constructor protected.
3103 * dom/StyledElement.cpp:
3104 (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
3105 * dom/StyledElement.h: Made many functions protected or private, including
3108 * dom/make_names.pl: Use create to create the base elements HTMLElement,
3109 SVGElement, and WMLElement.
3111 * editing/CreateLinkCommand.cpp:
3112 (WebCore::CreateLinkCommand::doApply): Use create instead of new.
3113 * editing/UnlinkCommand.cpp:
3114 (WebCore::UnlinkCommand::doApply): Ditto.
3116 * html/HTMLAnchorElement.cpp:
3117 (WebCore::HTMLAnchorElement::create): Added.
3118 * html/HTMLAnchorElement.h: Made constructor protected and added create.
3119 Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
3121 * html/HTMLAppletElement.cpp:
3122 (WebCore::HTMLAppletElement::create): Added.
3123 * html/HTMLAppletElement.h: Made constructor private and added create.
3125 * html/HTMLAreaElement.cpp:
3126 (WebCore::HTMLAreaElement::create): Added.
3127 * html/HTMLAreaElement.h: Made constructor private and added create.
3129 * html/HTMLElement.cpp:
3130 (WebCore::HTMLElement::create): Added.
3131 * html/HTMLElement.h: Made constructor protected and added create.
3132 Made other functions protected and private. Also added inline
3133 definition of constructor.
3135 * html/HTMLEmbedElement.cpp:
3136 (WebCore::HTMLEmbedElement::create): Added.
3137 * html/HTMLEmbedElement.h: Made constructor private and added create.
3138 Made other functions private.
3140 * html/HTMLFrameElement.cpp:
3141 (WebCore::HTMLFrameElement::create): Added.
3142 (WebCore::HTMLFrameElement::parseMappedAttribute):
3143 * html/HTMLFrameElement.h: Made constructor private and added create.
3144 Made other functions private.
3146 * html/HTMLFrameElementBase.h: Made functions protected and private.
3148 * html/HTMLFrameOwnerElement.cpp:
3149 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
3150 CreateElement so reference count starts at 1.
3152 * html/HTMLFrameOwnerElement.h: Made functions protected and private.
3154 * html/HTMLIFrameElement.cpp:
3155 (WebCore::HTMLIFrameElement::create): Added.
3156 * html/HTMLIFrameElement.h: Made constructor private and added create.
3157 Made other functions private.
3159 * html/HTMLObjectElement.cpp:
3160 (WebCore::HTMLObjectElement::create): Added.
3161 (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
3162 into a for loop and tweaked formatting.
3164 * html/HTMLObjectElement.h: Made constructor private and added create.
3165 Made other functions private.
3167 * html/HTMLPlugInElement.h: Made constructor protected.
3168 Made other functions protected and private.
3170 * html/HTMLPlugInImageElement.h: Made constructor and another function
3173 * html/HTMLTagNames.in: Removed createWithNew from all classes that
3174 now have create functions. Moved conditional noscript to a separate
3177 * html/HTMLViewSourceDocument.cpp:
3178 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
3179 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3180 * page/DragController.cpp:
3181 (WebCore::documentFragmentFromDragData): Ditto.
3183 * svg/SVGElement.cpp:
3184 (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
3185 so reference count still starts at 0. Will change this class later.
3186 (WebCore::SVGElement::create): Added.
3187 * svg/SVGElement.h: Added create, made constructor protected, and
3188 made other functions protected and private. Removed unneeded
3191 * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
3194 * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
3195 Made functions private.
3197 * wml/WMLElement.cpp:
3198 (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
3199 so reference count still starts at 0. Will change this class later.
3200 (WebCore::WMLElement::create): Added.
3201 * wml/WMLElement.h: Added create and made constructor protected.
3203 * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
3205 2009-08-22 Adele Peterson <adele@apple.com>
3207 Reviewed by Anders Carlsson.
3209 Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
3211 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
3212 and then was getting destroyed without proper scrollbar teardown. This change makes custom scrollbars get detached when the document enters the cache.
3214 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.
3216 * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.
3217 They'll get reattached when the document comes out of the page cache.
3218 * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
3220 2009-08-22 David Hyatt <hyatt@apple.com>
3222 Reviewed by Dan Bernstein.
3224 Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
3225 the bottom of their parent blocks. The old code prevented all collapsing, but all CSS2.1 states is that:
3226 "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
3228 The implication is that the bottom margin can still collapse, and the block-inside-inline form of
3229 fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
3230 on it to get comparable results.
3232 Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
3234 * rendering/RenderBlock.cpp:
3235 (WebCore::RenderBlock::MarginInfo::MarginInfo):
3236 (WebCore::RenderBlock::collapseMargins):
3237 (WebCore::RenderBlock::clearFloatsIfNeeded):
3238 (WebCore::RenderBlock::handleBottomOfBlock):
3239 * rendering/RenderBlock.h:
3240 (WebCore::RenderBlock::MarginInfo::clearMargin):
3241 (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
3243 2009-08-22 Chris Fleizach <cfleizach@apple.com>
3245 Reviewed by Darin Adler.
3247 Need to implement ARIA role="listitem" and role="list"
3248 https://bugs.webkit.org/show_bug.cgi?id=28606
3250 Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
3252 * accessibility/AXObjectCache.cpp:
3253 (WebCore::AXObjectCache::getOrCreate):
3254 * accessibility/AccessibilityList.cpp:
3255 (WebCore::AccessibilityList::isUnorderedList):
3256 * accessibility/AccessibilityRenderObject.cpp:
3257 (WebCore::RoleEntry::):
3259 2009-08-21 Dan Bernstein <mitz@apple.com>
3261 Reviewed by Darin Adler.
3263 Clean up fill image geometry calculation
3264 https://bugs.webkit.org/show_bug.cgi?id=28652
3266 * rendering/RenderBoxModelObject.cpp:
3267 (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
3268 calculateBackgroundSize() to this. Replaced separate scaledWidth and
3269 scaledHeight parameters with a single scaledSize parameter. Renamed
3270 parameters and local variables.
3271 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
3272 to use CSS3 Backgrounds and Borders terminology in comments and
3273 local variable names. Renamed, clarified and consolidated some local
3275 * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
3277 2009-08-22 Chris Marrin <cmarrin@apple.com>
3279 Unreviewed, build fix.
3281 Backing out http://trac.webkit.org/changeset/47669
3283 * html/canvas/CanvasRenderingContext2D.cpp:
3284 * html/canvas/CanvasRenderingContext2D.h:
3286 2009-08-22 Dimitri Glazkov <dglazkov@chromium.org>
3288 Unreviewed, build fix.
3290 Backing out http://trac.webkit.org/changeset/47671 in preparation of
3291 rolling out http://trac.webkit.org/changeset/47669.
3293 2009-08-22 Dimitri Glazkov <dglazkov@chromium.org>
3295 Reviewed by Anders Carlsson.
3297 Build fix, add CanvasRenderingContext to build systems.
3298 https://bugs.webkit.org/show_bug.cgi?id=28018
3300 * DerivedSources.make: Added CanvasRenderinContext.
3301 * GNUmakefile.am: Ditto.
3302 * WebCore.gypi: Ditto.
3303 * WebCore.pro: Ditto.
3304 * WebCore.xcodeproj/project.pbxproj: Ditto.
3305 * WebCoreSources.bkl: Ditto.
3307 2009-08-21 Chris Marrin <cmarrin@apple.com>
3309 Reviewed by Oliver Hunt.
3311 New files implementing GL buffer wrappers, and support to make them platform independent
3312 https://bugs.webkit.org/show_bug.cgi?id=28018
3314 * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
3315 * html/canvas/CanvasBuffer.h: Added.
3316 * html/canvas/CanvasBuffer.idl: Added.
3317 * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
3318 * html/canvas/CanvasFramebuffer.h: Added.
3319 * html/canvas/CanvasFramebuffer.idl: Added.
3320 * html/canvas/CanvasObject.h: Expose m_context
3321 * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
3322 * html/canvas/CanvasProgram.h: Added.
3323 * html/canvas/CanvasProgram.idl: Added.
3324 * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
3325 * html/canvas/CanvasRenderbuffer.h: Added.
3326 * html/canvas/CanvasRenderbuffer.idl: Added.
3327 * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
3328 * html/canvas/CanvasRenderingContext3D.h:
3329 * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
3330 * html/canvas/CanvasShader.h: Added.
3331 * html/canvas/CanvasShader.idl: Added.
3332 * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
3333 * html/canvas/CanvasTexture.h: Added.
3334 * html/canvas/CanvasTexture.idl: Added.
3335 * platform/graphics/GraphicsContext3D.cpp: Removed.
3336 * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
3337 * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
3339 2009-08-21 Darin Adler <darin@apple.com>
3341 * WebCore.vcproj/build-generated-files.sh:
3342 * make-generated-sources.sh:
3343 Removed obsolete code to set up CREATE_HASH_TABLE.
3345 2009-08-21 Adele Peterson <adele@apple.com>
3347 Reviewed by Mark Rowe.
3349 <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled
3351 * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):
3352 No need to open the file with write access. Only read access is needed.
3354 2009-08-21 Alexey Proskuryakov <ap@apple.com>
3356 Reviewed by Darin Adler.
3358 <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
3360 Also fixes leaks seen on appcache tests.
3362 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
3363 something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
3364 to call, and we do not think that the leak occurs there anyway.
3366 2009-08-21 Dmitry Titov <dimich@chromium.org>
3368 Reviewed by David Levin.
3370 https://bugs.webkit.org/show_bug.cgi?id=28650
3371 Remove cross-thread code from CrossOriginPreflightResultCache.
3372 Removed mutexes, atomic initializer and string copy.
3374 No new tests, the worker tests cover this.
3376 * loader/CrossOriginPreflightResultCache.cpp:
3377 (WebCore::addToAccessControlAllowList):
3378 (WebCore::CrossOriginPreflightResultCache::shared):
3379 (WebCore::CrossOriginPreflightResultCache::appendEntry):
3380 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
3381 (WebCore::CrossOriginPreflightResultCache::empty):
3382 * loader/CrossOriginPreflightResultCache.h:
3384 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3386 Reviewed by Jan Alonzo.
3388 Buildfix after http://trac.webkit.org/changeset/47655.
3390 * html/HTMLFormControlElement.h:
3392 2009-08-19 Joseph Pecoraro <joepeck@webkit.org>
3394 Reviewed by Timothy Hatcher.
3396 Inspector: Improve Cookie DataGrid to Show Hidden Data
3397 https://bugs.webkit.org/show_bug.cgi?id=28269
3399 Removed Custom Bindings
3401 * bindings/js/JSInspectorBackendCustom.cpp:
3402 * bindings/v8/custom/V8CustomBinding.h:
3403 * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3404 * inspector/InspectorBackend.cpp:
3406 Made Non-Custom Bindings in the Backend
3408 (WebCore::InspectorBackend::getCookies):
3409 (WebCore::InspectorBackend::deleteCookie):
3410 * inspector/InspectorBackend.h:
3411 * inspector/InspectorBackend.idl:
3412 * inspector/InspectorController.cpp:
3413 (WebCore::InspectorController::deleteCookie):
3414 * inspector/InspectorController.h:
3416 Build the Cookie ScriptObjects, handles using document.cookie in
3417 case the platform hasn't implemented raw cookie access.
3419 * inspector/InspectorDOMAgent.cpp:
3420 (WebCore::InspectorDOMAgent::getCookies):
3421 (WebCore::InspectorDOMAgent::buildObjectForCookie):
3422 (WebCore::InspectorDOMAgent::buildArrayForCookies):
3423 * inspector/InspectorDOMAgent.h:
3425 Complete the Asynchronous Calls
3427 * inspector/InspectorFrontend.cpp:
3428 (WebCore::InspectorFrontend::didGetCookies):
3429 * inspector/InspectorFrontend.h:
3431 Asynchronous Functions to get Cookie Data
3433 * inspector/front-end/DOMAgent.js:
3434 (WebInspector.Cookies.getCookiesAsync):
3435 (WebInspector.Cookies.buildCookiesFromString): fallback behavior
3437 Refactor to use the Asynchronous Functions
3439 * inspector/front-end/CookieItemsView.js:
3440 (WebInspector.CookieItemsView):
3441 (WebInspector.CookieItemsView.prototype.get statusBarItems):
3442 (WebInspector.CookieItemsView.prototype.update.callback):
3443 (WebInspector.CookieItemsView.prototype.update):
3444 (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
3445 (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
3447 Cleaned/Commented Related Code
3449 (InspectorController.searchCanceled):
3450 * inspector/front-end/InjectedScript.js:
3451 * platform/Cookie.h:
3452 * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
3454 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3456 Reviewed by Adele Peterson.
3458 https://bugs.webkit.org/show_bug.cgi?id=28145
3459 Add support for novalidate/formnovalidate attribute, from HTML5 specs:
3460 http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
3462 Tests: fast/forms/formnovalidate-attribute.html
3463 fast/forms/novalidate-attribute.html
3465 * html/HTMLAttributeNames.in: added novalidate, formnovalidate
3466 * html/HTMLButtonElement.idl: formnovalidate attribute exposed
3467 * html/HTMLFormControlElement.cpp:
3468 (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
3469 (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
3470 * html/HTMLFormControlElement.h:
3471 * html/HTMLFormElement.cpp:
3472 (WebCore::HTMLFormElement::novalidate): attribute getter
3473 (WebCore::HTMLFormElement::setNovalidate): attribute setter
3474 * html/HTMLFormElement.h:
3475 * html/HTMLFormElement.idl: novalidate attribute exposed
3476 * html/HTMLInputElement.idl: formNoValidate attribute exposed
3478 2009-08-21 Dan Bernstein <mitz@apple.com>
3480 Reviewed by Beth Dakin.
3482 Rendering changes to complete
3483 [CSS3 Backgrounds and Borders] Add support for the "contain" value for
3485 https://bugs.webkit.org/show_bug.cgi?id=27573
3487 [CSS3 Backgrounds and Borders] Add support for the "cover" value for
3489 https://bugs.webkit.org/show_bug.cgi?id=27574
3491 Test: fast/backgrounds/size/contain-and-cover.html
3493 * rendering/RenderBoxModelObject.cpp:
3494 (WebCore::RenderBoxModelObject::calculateBackgroundSize):
3495 * rendering/RenderObject.cpp:
3496 (WebCore::mustRepaintFillLayers):
3498 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3500 Reviewed by Adele Peterson.
3502 https://bugs.webkit.org/show_bug.cgi?id=27452
3503 Add support for checkValidity() method and invalid event, from HTML5
3505 http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
3507 Tests: fast/events/invalid-001.html
3508 fast/events/invalid-002.html
3509 fast/events/invalid-003.html
3510 fast/events/invalid-004.html
3511 fast/events/invalid-005.html
3512 fast/forms/checkValidity-001.html
3513 fast/forms/checkValidity-002.html
3514 fast/forms/checkValidity-003.html
3515 fast/forms/checkValidity-004.html
3517 * dom/Document.idl: oninvalid event handler
3518 * dom/Element.idl: ditto
3519 * dom/EventNames.h: added invalid event
3521 (WebCore::Node::oninvalid): ditto
3522 (WebCore::Node::setOninvalid): ditto
3524 * html/HTMLAttributeNames.in: oninvalid attribute
3525 * html/HTMLButtonElement.idl: added checkValidity() method
3526 * html/HTMLElement.cpp:
3527 (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
3528 * html/HTMLFieldSetElement.idl: added checkValidity() method
3529 * html/HTMLFormControlElement.cpp:
3530 (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
3532 * html/HTMLFormControlElement.h:
3533 * html/HTMLFormElement.cpp:
3534 (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
3536 * html/HTMLFormElement.h: checkValidity() definition
3537 * html/HTMLFormElement.idl: added checkValidity() method
3538 * html/HTMLInputElement.idl: added checkValidity() method
3539 * html/HTMLSelectElement.idl: added checkValidity() method
3540 * html/HTMLTextAreaElement.idl: added checkValidity() method
3541 * page/DOMWindow.cpp:
3542 (WebCore::DOMWindow::oninvalid): oninvalid event handler
3543 (WebCore::DOMWindow::setOninvalid): ditto
3544 * page/DOMWindow.h: ditto
3545 * page/DOMWindow.idl: ditto
3547 2009-08-21 Beth Dakin <bdakin@apple.com>
3549 Reviewed by Dan Bernstein.
3551 The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3
3552 Backgrounds and Borders] Add support for the "round" value for
3555 https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
3556 Borders] Add support for the "space" value for background-repeat
3558 * css/CSSParser.cpp:
3559 (WebCore::CSSParser::parseFillProperty):
3560 * css/CSSPrimitiveValueMappings.h:
3561 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3562 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
3563 * css/CSSValueKeywords.in:
3564 * rendering/style/FillLayer.h:
3565 * rendering/style/RenderStyleConstants.h:
3568 2009-08-21 Chris Marrin <cmarrin@apple.com>
3570 Reviewed by Oliver Hunt.
3572 New files for Canvas 3D feature
3573 https://bugs.webkit.org/show_bug.cgi?id=28018
3575 This is all the new files for implementing Canvas 3D. None of them are hooked up and
3576 are not even included in the build yet. This incorporates the reviews from Simon
3577 and Ollie for these files.
3579 * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
3580 * html/CanvasObject.cpp: Added. Base class for all GL object containers
3581 * html/CanvasObject.h: Added.
3582 * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
3583 * html/CanvasRenderingContext.h:&n