1 2009-11-24 Joanmarie Diggs <joanmarie.diggs@gmail.com>
5 https://bugs.webkit.org/show_bug.cgi?id=25415
6 [GTK][ATK] Please implement support for get_text_at_offset
8 When building up the pango layout from text boxes, only append a
9 newline char after verifying there are no more boxes on this line.
11 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12 (getPangoLayoutForAtk):
14 2009-11-24 Joseph Pecoraro <joepeck@webkit.org>
16 Reviewed by Pavel Feldman.
18 Web Inspector: Keyboard Shortcut to Clear Console Messages
19 https://bugs.webkit.org/show_bug.cgi?id=31780
21 All Platforms: Ctrl+L = Clear Console Messages
22 Mac Only: Cmd+K = Clear Console Messages
24 * inspector/front-end/ConsoleView.js:
25 (WebInspector.ConsoleView): create shortcuts
26 (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
27 * inspector/front-end/KeyboardShortcut.js:
28 (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
29 * inspector/front-end/ScriptsPanel.js:
30 (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
32 2009-11-24 Pavel Feldman <pfeldman@chromium.org>
34 Not reviewed: touch inspector controller in order to
35 kick win bot inspector deploy. rs=aroben.
37 * inspector/InspectorController.cpp:
39 2009-11-23 Pavel Feldman <pfeldman@chromium.org>
41 Reviewed by Timothy Hatcher.
43 Web Inspector: Implement expandable compartments on timeline panel.
45 https://bugs.webkit.org/show_bug.cgi?id=31796
47 * inspector/front-end/TimelineOverviewPane.js:
48 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
49 * inspector/front-end/TimelinePanel.js:
50 (WebInspector.TimelinePanel):
51 (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
52 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
53 (WebInspector.TimelinePanel.prototype._formatRecord):
54 (WebInspector.TimelinePanel.prototype._refreshRecords):
55 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
56 (WebInspector.TimelineRecordListRow):
57 (WebInspector.TimelineRecordListRow.prototype.update):
58 (WebInspector.TimelineRecordListRow.prototype.dispose):
59 (WebInspector.TimelineRecordGraphRow):
60 (WebInspector.TimelineRecordGraphRow.prototype.update):
61 (WebInspector.TimelineRecordGraphRow.prototype._onClick):
62 (WebInspector.TimelineRecordGraphRow.prototype.dispose):
63 * inspector/front-end/inspector.css:
65 2009-11-24 Mark Rowe <mrowe@apple.com>
67 Fix production builds where the source tree may be read-only.
69 * WebCore.xcodeproj/project.pbxproj:
71 2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
73 Reviewed by Kenneth Rohde Christiansen.
75 Include "config.h" to meet Coding Style Guidelines
76 https://bugs.webkit.org/show_bug.cgi?id=31792
78 No new tests as there is no new functionality.
80 * platform/graphics/win/IntPointWin.cpp:
81 * platform/graphics/win/IntRectWin.cpp:
82 * platform/graphics/win/IntSizeWin.cpp:
83 * platform/network/chromium/ResourceRequest.cpp:
84 * platform/win/PlatformMouseEventWin.cpp:
86 2009-11-23 Jian Li <jianli@chromium.org>
88 Reviewed by NOBODY (Chromium build fix).
90 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
91 (WebCore::CALLBACK_FUNC_DECL):
92 * platform/graphics/GraphicsContext3D.h:
94 2009-11-23 Aaron Golden <agolden@apple.com>
96 Reviewed by Alexey Proskuryakov.
98 Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
99 identity and certificate information from a WebCore::Credential when receivedCredential
100 needs to modify the credential's persistence.
102 Adding a new constructor Credential(const Credential& original, CredentialPersistence)
103 that copies every field from original except for persistence.
105 * platform/network/Credential.cpp:
106 (WebCore::Credential::Credential):
107 * platform/network/Credential.h:
108 * platform/network/mac/ResourceHandleMac.mm:
109 (WebCore::ResourceHandle::receivedCredential):
111 2009-11-23 Gavin Barraclough <barraclough@apple.com>
113 Reviewed by Geoff Garen.
115 Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
117 Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
118 and for this to automagically cause execution to take place in the world associated with the
119 global object associated with the ExecState (JSContextRef) passed. However this is not how
120 things work - the world must be explicitly set within WebCore.
122 Making this work just for API calls to evaluate & call will be a far from perfect solution,
123 since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
124 A better solution would be to make this all work automagically all throughout WebCore, but this
125 will require more refactoring.
127 Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
128 so that we can get to the world from the lexical global object of an ExecState. In the long-term
129 we should switch over to using this approach for all cases we want to get a world from an exec state.
131 * bindings/js/JSDOMBinding.cpp:
132 (WebCore::WebCoreJSClientData::beginningExecution):
133 (WebCore::WebCoreJSClientData::completedExecution):
134 * bindings/js/JSDOMBinding.h:
135 * bindings/js/JSDOMGlobalObject.h:
136 (WebCore::JSDOMGlobalObject::world):
137 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
138 * bindings/js/JSDOMWindowBase.cpp:
139 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
140 * bindings/js/JSDOMWindowBase.h:
141 * bindings/js/JSDOMWindowShell.cpp:
142 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
143 * bindings/js/JSDOMWindowShell.h:
144 (WebCore::JSDOMWindowShell::world):
145 * bindings/js/JSWorkerContextBase.cpp:
146 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
147 * bindings/js/ScriptController.cpp:
148 (WebCore::ScriptController::initScript):
150 2009-11-23 Chris Marrin <cmarrin@apple.com>
152 Reviewed by Oliver Hunt.
154 Add range checks to rendering calls in WebGL
155 https://bugs.webkit.org/show_bug.cgi?id=31239
157 I am now tracking the size of the data in each CanvasBuffer object
158 and keeping track of the buffer size of each active vertex attrib.
159 In drawArrays and drawElements I make sure no attempt is made to
160 access elements outside the valid buffer ranges. The test at:
162 http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
166 I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
168 Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
169 fast/canvas/webgl/drawElementssOutOfBounds.html
171 * bindings/js/JSWebGLArrayCustom.cpp:
173 * bindings/js/JSWebGLRenderingContextCustom.cpp:
174 (WebCore::JSWebGLRenderingContext::bufferData):
175 (WebCore::JSWebGLRenderingContext::bufferSubData):
176 (WebCore::JSWebGLRenderingContext::texSubImage2D):
177 * html/canvas/WebGLArrayBuffer.cpp:
178 (WebCore::WebGLArrayBuffer::create):
179 (WebCore::WebGLArrayBuffer::data):
180 * html/canvas/WebGLArrayBuffer.h:
181 * html/canvas/WebGLBuffer.cpp:
182 (WebCore::WebGLBuffer::WebGLBuffer):
183 (WebCore::WebGLBuffer::associateBufferData):
184 (WebCore::WebGLBuffer::associateBufferSubData):
185 (WebCore::WebGLBuffer::byteLength):
186 * html/canvas/WebGLBuffer.h:
187 (WebCore::WebGLBuffer::elementArrayBuffer):
188 * html/canvas/WebGLRenderingContext.cpp:
189 (WebCore::WebGLRenderingContext::WebGLRenderingContext):
190 (WebCore::WebGLRenderingContext::sizeInBytes):
191 (WebCore::WebGLRenderingContext::bindBuffer):
192 (WebCore::WebGLRenderingContext::bufferData):
193 (WebCore::WebGLRenderingContext::bufferSubData):
194 (WebCore::WebGLRenderingContext::createShader):
195 (WebCore::WebGLRenderingContext::disableVertexAttribArray):
196 (WebCore::WebGLRenderingContext::validateIndexArray):
197 (WebCore::WebGLRenderingContext::validateRenderingState):
198 (WebCore::WebGLRenderingContext::drawArrays):
199 (WebCore::WebGLRenderingContext::drawElements):
200 (WebCore::WebGLRenderingContext::enableVertexAttribArray):
201 (WebCore::WebGLRenderingContext::isFramebuffer):
202 (WebCore::WebGLRenderingContext::isProgram):
203 (WebCore::WebGLRenderingContext::isRenderbuffer):
204 (WebCore::WebGLRenderingContext::isShader):
205 (WebCore::WebGLRenderingContext::isTexture):
206 (WebCore::WebGLRenderingContext::useProgram):
207 (WebCore::WebGLRenderingContext::validateProgram):
208 (WebCore::WebGLRenderingContext::vertexAttribPointer):
209 (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
210 * html/canvas/WebGLRenderingContext.h:
211 (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
212 * html/canvas/WebGLRenderingContext.idl:
213 * html/canvas/WebGLShader.cpp:
214 (WebCore::WebGLShader::create):
215 (WebCore::WebGLShader::WebGLShader):
216 * html/canvas/WebGLShader.h:
217 * platform/graphics/GraphicsContext3D.h:
218 (WebCore::GraphicsContext3D::):
219 * platform/graphics/mac/GraphicsContext3DMac.cpp:
220 (WebCore::GraphicsContext3D::createShader):
222 2009-11-23 Erik Arvidsson <arv@chromium.org>
224 Reviewed by Eric Seidel.
226 JSC bindings for HasIndexGetter generates incorrect code (affects
227 MediaList and CSSStyleDeclaration).
228 This cleans up the edge cases for indexing out of range for style and
229 computed style objects to return an empty string according to the spec.
230 MediaList now returns null when indexed out of range.
231 https://bugs.webkit.org/show_bug.cgi?id=31683
233 Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
234 fast/dom/CSSStyleDeclaration/css-style-item.html
235 fast/dom/StyleSheet/css-medialist-item.html
237 * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
238 we do not check the length before calling the item function.
239 * css/CSSComputedStyleDeclaration.cpp:
240 (WebCore::CSSComputedStyleDeclaration::item):
241 * css/CSSMutableStyleDeclaration.cpp:
242 (WebCore::CSSMutableStyleDeclaration::item):
243 * css/CSSStyleDeclaration.idl:
245 2009-11-23 Simon Fraser <simon.fraser@apple.com>
247 Reviewed by Dan Bernstein.
249 DocumentMarkers need to be educated about transforms
250 https://bugs.webkit.org/show_bug.cgi?id=31751
252 Find highlight is incorrect with transforms
253 <rdar://problem/6358394>
255 Allow callers to specify that Frame::selectionTextRects() takes transforms into account
256 when computing the set of rects that encompass a selection. For transformed elemenets, the
257 selection rect will be the bounding box of the selected content.
259 Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
261 Test: editing/selection/transformed-selection-rects.html
264 Frame::selectionTextRects() has a new parameter.
267 (WebCore::Document::setRenderedRectForMarker):
269 Pass the marker as a const reference.
273 (WebCore::Range::textQuads):
274 Add a new method, textQuads(), which returns a list of quads, respecting transforms.
278 (WebCore::Frame::selectionTextRects):
279 Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
280 method to get quads for ranges, and then take their bounding boxes.
282 * rendering/InlineTextBox.h:
283 * rendering/InlineTextBox.cpp:
284 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
285 (WebCore::InlineTextBox::paintTextMatchMarker):
286 (WebCore::InlineTextBox::computeRectForReplacementMarker):
287 (WebCore::InlineTextBox::paintDocumentMarkers):
288 (WebCore::InlineTextBox::textPos):
289 (WebCore::InlineTextBox::offsetForPosition):
291 Pass DocumentMarkers as a const references.
292 Convert the argument to setRenderedRectForMarker() into absolute coordinates.
294 * rendering/RenderView.cpp:
295 (WebCore::RenderView::selectionBounds):
297 2009-11-23 Dirk Schulze <krit@webkit.org>
299 Reviewed by Oliver Hunt.
301 [Cairo] support blurred test-shadow
302 [https://bugs.webkit.org/show_bug.cgi?id=31797]
304 Support for blurred text-shadows on Cairo. This patch
305 reuses the code of blurred box-shadows, introduced in
306 bug 26102. For a full textshadow support, a filters enabled
309 * platform/graphics/cairo/FontCairo.cpp:
310 (WebCore::Font::drawGlyphs):
312 2009-11-23 Jens Alfke <snej@chromium.org>
314 Reviewed by Geoffrey Garen.
316 Change incorrect calls to the constructor "EventNames()" to the correct accessor
317 "eventNames()". This saves ~100 AtomicString lookups each time.
318 https://bugs.webkit.org/show_bug.cgi?id=31811
320 * dom/EventNames.h: Make constructor private to prevent this from happening again.
321 * history/CachedFrame.cpp:
322 (WebCore::CachedFrameBase::restore): EventNames() --> eventNames()
323 * html/HTMLFormControlElement.cpp:
324 (WebCore::HTMLFormControlElement::checkValidity): EventNames() --> eventNames()
325 * loader/FrameLoader.cpp:
326 (WebCore::FrameLoader::stopLoading): EventNames() --> eventNames()
327 (WebCore::FrameLoader::pageHidden): EventNames() --> eventNames()
328 * page/DOMWindow.cpp:
329 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): EventNames() --> eventNames()
331 2009-11-23 Adam Langley <agl@google.com>
333 Reviewed by Dmitry Titov.
335 Chromium Linux: Limit the stroke width and mitre limit.
337 Limit the stroke width and mitre limit that we'll pass into Skia to
338 avoid overflowing Skia's uint16_t glyph widths.
340 http://code.google.com/p/chromium/issues/detail?id=28250
341 https://bugs.webkit.org/show_bug.cgi?id=31747
343 * platform/graphics/skia/PlatformContextSkia.cpp:
345 (PlatformContextSkia::setupPaintForStroking):
347 2009-11-23 Alexey Proskuryakov <ap@apple.com>
349 Reviewed by Oliver Hunt.
351 https://bugs.webkit.org/show_bug.cgi?id=31812
352 WebSocket code uses RefPtr::get() where it shouldn't
354 No change in funcitonality, just coding style correction.
356 * websockets/WebSocket.cpp:
357 (WebCore::WebSocket::~WebSocket):
358 * websockets/WebSocketChannel.cpp:
359 (WebCore::WebSocketChannel::connect):
360 (WebCore::WebSocketChannel::send):
361 (WebCore::WebSocketChannel::bufferedAmount):
362 (WebCore::WebSocketChannel::close):
363 (WebCore::WebSocketChannel::disconnect):
364 (WebCore::WebSocketChannel::didOpen):
365 (WebCore::WebSocketChannel::didClose):
366 (WebCore::WebSocketChannel::didReceiveData):
367 (WebCore::WebSocketChannel::didFail):
369 2009-11-23 Alexey Proskuryakov <ap@apple.com>
373 * platform/network/cf/SocketStreamHandleCFNet.cpp:
374 (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
375 is static, so it can't use member variables directly.
377 2009-11-23 Alexey Proskuryakov <ap@apple.com>
379 Reviewed by Brady Eidson.
381 https://bugs.webkit.org/show_bug.cgi?id=31748
382 Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
384 * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
385 they didn't carry useful information.
387 * platform/network/cf/SocketStreamHandleCFNet.cpp:
388 (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
390 (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
391 only get scheduled after PAC is fetched and executed asynchronously.
392 (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
394 (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
395 (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
396 (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
397 we make the call even on Mac.
398 (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
399 (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
400 we need to get rid of the event source.
401 (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
402 (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
403 array may come directly from system configuration, or from PAC.
404 (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
406 (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
407 before we get to the destructor.
408 (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
409 is still in progress.
411 2009-11-23 Oliver Hunt <oliver@apple.com>
413 Reviewed by Geoff Garen.
415 Don't leak the CGImage we create when drawing a sub image.
417 * platform/graphics/cg/ImageCG.cpp:
418 (WebCore::BitmapImage::draw):
420 2009-11-23 Adam Barth <abarth@webkit.org>
422 Reviewed by Dimitri Glazkov.
424 [V8] Don't crash when OOM in creating isolated world
425 https://bugs.webkit.org/show_bug.cgi?id=31805
427 We need to add some more null checks to avoid crashing. No new tests
428 because we don't have a good way to test out-of-memory bugs.
430 * bindings/v8/V8Proxy.cpp:
431 (WebCore::V8Proxy::evaluateInIsolatedWorld):
432 (WebCore::V8Proxy::evaluateInNewContext):
433 (WebCore::V8Proxy::setInjectedScriptContextDebugId):
434 * bindings/v8/V8Proxy.h:
436 2009-11-23 Dirk Schulze <krit@webkit.org>
438 Reviewed by Nikolas Zimmermann.
440 This is the implementation of the filterRes attribute. It
441 helps the SVG developer to set the quality of a filter by
442 giving the width or height of filter.
443 This patch also sets the filter resolution to lower values
444 if a intermediate ImageBuffer size is bigger than the given
446 The maximal size is set to 5000x5000 by default. This is a
447 subjectiv decission. Everthing greater than this values gets
448 sensible slower. Values of 10000x10000 crashed on WebKitGtk.
449 For mobil devices a maximum size of 100x100 or 200x200 seems
451 The important fact on filter resolution is, that the output
452 size is still the size given by the <filter> element.
454 Tests: svg/filters/big-sized-filter-2.svg
455 svg/filters/big-sized-filter.svg
456 svg/filters/filterRes.svg
458 * platform/graphics/FloatRect.cpp:
459 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
460 * platform/graphics/FloatRect.h:
461 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
462 * platform/graphics/cairo/GraphicsContextCairo.cpp:
463 (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
465 * platform/graphics/filters/FEBlend.cpp:
466 (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
467 * platform/graphics/filters/FEColorMatrix.cpp:
468 (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
469 * platform/graphics/filters/FEComponentTransfer.cpp:
470 (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
472 * platform/graphics/filters/FEComposite.cpp:
473 (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
474 * platform/graphics/filters/FEGaussianBlur.cpp:
475 (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
476 * platform/graphics/filters/Filter.h: Add the abbility to change the quality
478 (WebCore::Filter::filterResolution):
479 (WebCore::Filter::setFilterResolution):
480 (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
481 as well as the scaledSubRegion. It also searches for the biggest effect size.
482 We have to change the filter resolution, if one intermediate ImageBuffer size
483 doesn't fit in the maximal image size.
484 * platform/graphics/filters/FilterEffect.cpp:
485 (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
486 the right part of a previous effect result.
487 (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
488 the right part of a previous effect result.
489 (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
490 a new intermediate ImageBuffer for the result of the current effect.
491 * platform/graphics/filters/FilterEffect.h:
492 (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
494 (WebCore::FilterEffect::setScaledSubRegion):
495 (WebCore::FilterEffect::effectBoundaries): The original values of the
496 EffectElement for a second subRegion calculation.
497 (WebCore::FilterEffect::setEffectBoundaries):
498 * platform/graphics/filters/ImageBufferFilter.cpp:
499 (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
500 * platform/graphics/filters/ImageBufferFilter.h:
501 (WebCore::ImageBufferFilter::maxImageSize):
502 (WebCore::ImageBufferFilter::calculateEffectSubRegion):
503 * platform/graphics/filters/SourceAlpha.cpp:
504 (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
506 * platform/graphics/filters/SourceGraphic.cpp:
507 (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
509 * svg/SVGFilterElement.cpp:
510 (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
511 (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
513 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
514 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
515 values to effectBoundaries of the filter effect
516 * svg/graphics/SVGResourceFilter.cpp:
517 (WebCore::SVGResourceFilter::SVGResourceFilter):
518 (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
519 (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
520 fits into the maximal image size, modifys scale factors if not and return a
522 (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
523 filterResolution (given by FilterElement or calculated on to big image sizes).
524 Set the scale level to SVGFilter.
525 (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
527 * svg/graphics/SVGResourceFilter.h:
528 (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
529 (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
531 (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
532 (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
533 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
534 (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
535 Kernel values are scaled to current filter resolution too.
536 * svg/graphics/filters/SVGFEFlood.cpp:
537 (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
538 * svg/graphics/filters/SVGFEMerge.cpp:
539 (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
540 Kernel values are scaled to current filter resolution too.
541 * svg/graphics/filters/SVGFEMorphology.cpp:
542 (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
543 Kernel values are scaled to current filter resolution too.
544 * svg/graphics/filters/SVGFEOffset.cpp:
545 (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
546 * svg/graphics/filters/SVGFETile.cpp:
547 (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
548 * svg/graphics/filters/SVGFilter.cpp:
549 (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
550 scaledSubRegion according to the current filterResolution and get the maximal image size.
551 * svg/graphics/filters/SVGFilter.h:
552 (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement.
553 (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
554 (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
555 (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
557 2009-11-23 Simon Hausmann <simon.hausmann@nokia.com>
559 Reviewed by Kenneth Rohde Christiansen.
561 [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
562 the wrapped object died before the gc removed the instance.
564 https://bugs.webkit.org/show_bug.cgi?id=31681
566 Before using a cached instance, verify that its wrapped QObject is
569 * bridge/qt/qt_instance.cpp:
570 (JSC::Bindings::QtInstance::getQtInstance):
571 * bridge/qt/qt_instance.h:
572 (JSC::Bindings::QtInstance::hashKey):
574 2009-11-22 Chris Fleizach <cfleizach@apple.com>
576 Reviewed by Oliver Hunt.
578 ARIA: support aria-flowto
579 https://bugs.webkit.org/show_bug.cgi?id=31762
581 Test: platform/mac/accessibility/aria-flowto.html
583 * accessibility/AccessibilityObject.h:
584 (WebCore::AccessibilityObject::ariaOwnsElements):
585 (WebCore::AccessibilityObject::supportsARIAFlowTo):
586 (WebCore::AccessibilityObject::ariaFlowToElements):
587 * accessibility/AccessibilityRenderObject.cpp:
588 (WebCore::AccessibilityRenderObject::linkedUIElements):
589 (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
590 (WebCore::AccessibilityRenderObject::ariaFlowToElements):
591 * accessibility/AccessibilityRenderObject.h:
592 * html/HTMLAttributeNames.in:
594 2009-11-22 Nikolas Zimmermann <nzimmermann@rim.com>
596 Not reviewed. Build fix for WML enabled builds.
597 Adopt WebCore API changes.
599 * wml/WMLAElement.cpp:
600 (WebCore::WMLAElement::defaultEventHandler):
601 * wml/WMLInputElement.cpp:
602 (WebCore::WMLInputElement::defaultEventHandler):
604 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
606 Reviewed by Timothy Hatcher.
608 Web Inspector: Introduce sidebar background on timeline panel in order
609 to prevent it from flickering on scroll.
611 https://bugs.webkit.org/show_bug.cgi?id=31789
613 * inspector/front-end/TimelinePanel.js:
614 (WebInspector.TimelinePanel):
615 (WebInspector.TimelinePanel.prototype.setSidebarWidth):
616 (WebInspector.TimelinePanel.prototype._onScroll):
617 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
618 * inspector/front-end/inspector.css:
620 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
622 Reviewed by Timothy Hatcher.
624 Web Inspector: Reimplement TimelinePanel to make it fast:
625 - Extract grid and overview into separate files
626 - Make timeline create only divs for visible rows
628 https://bugs.webkit.org/show_bug.cgi?id=31784
631 * WebCore.vcproj/WebCore.vcproj:
632 * inspector/front-end/AbstractTimelinePanel.js:
633 (WebInspector.AbstractTimelinePanel.prototype.createInterface):
634 (WebInspector.AbstractTimelinePanel.prototype.refresh):
635 (WebInspector.AbstractTimelinePanel.prototype.set calculator):
636 * inspector/front-end/TimelineGrid.js: Added.
637 (WebInspector.TimelineGrid):
638 (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
639 (WebInspector.TimelineGrid.prototype.updateDividers):
640 (WebInspector.TimelineGrid.prototype.addEventDivider):
641 (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
642 * inspector/front-end/TimelineOverviewPane.js: Added.
643 (WebInspector.TimelineOverviewPane):
644 (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
645 (WebInspector.TimelineOverviewPane.prototype.update):
646 (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
647 (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
648 (WebInspector.TimelineOverviewPane.prototype.reset):
649 (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
650 (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
651 (WebInspector.TimelineOverviewPane.prototype._dragWindow):
652 (WebInspector.TimelineOverviewPane.prototype._windowDragging):
653 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
654 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
655 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
656 (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
657 (WebInspector.TimelineOverviewCalculator):
658 (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
659 (WebInspector.TimelineOverviewCalculator.prototype.reset):
660 (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
661 (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
662 (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
663 (WebInspector.TimelineCategoryTreeElement):
664 (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
665 (WebInspector.TimelineCategoryGraph):
666 (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
667 (WebInspector.TimelineCategoryGraph.prototype.addChunk):
668 (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
669 (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
670 * inspector/front-end/TimelinePanel.js:
671 (WebInspector.TimelinePanel):
672 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
673 (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
674 (WebInspector.TimelinePanel.prototype._formatRecord):
675 (WebInspector.TimelinePanel.prototype.setSidebarWidth):
676 (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
677 (WebInspector.TimelinePanel.prototype.resize):
678 (WebInspector.TimelinePanel.prototype.reset):
679 (WebInspector.TimelinePanel.prototype.show):
680 (WebInspector.TimelinePanel.prototype._onScroll):
681 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
682 (WebInspector.TimelinePanel.prototype._refresh):
683 (WebInspector.TimelinePanel.prototype._refreshRecords):
684 (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
685 (WebInspector.TimelineCategory):
686 (WebInspector.TimelineCalculator):
687 (WebInspector.TimelineCalculator.prototype.get boundarySpan):
688 (WebInspector.TimelineRecordListRow):
689 (WebInspector.TimelineRecordListRow.prototype.update):
690 (WebInspector.TimelineRecordGraphRow):
691 (WebInspector.TimelineRecordGraphRow.prototype.update):
692 * inspector/front-end/WebKit.qrc:
693 * inspector/front-end/inspector.css:
694 * inspector/front-end/inspector.html:
696 2009-11-22 Chris Evans <cevans@chromium.org>
698 Reviewed by Adam Barth.
700 Disable access to file:/// directory listings
701 https://bugs.webkit.org/show_bug.cgi?id=31329
703 Deny access to directory listings. This needs doing in WebKit for
704 WebKit clients that do permit top-level navigation to file:///dir.
705 This matches Firefox, plus the existing Safari implementation (which
706 does not support any directory access at all). It will fix the
707 LayoutTest named below for Chromium.
709 Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
711 * page/SecurityOrigin.cpp: Deny access to directory listings.
712 (WebCore::SecurityOrigin::SecurityOrigin):
713 (WebCore::SecurityOrigin::canRequest):
715 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
717 Reviewed by Timothy Hatcher.
719 Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
720 https://bugs.webkit.org/show_bug.cgi?id=31400
722 Handle the following when on a Mac:
724 Ctrl+P = Previous (like Up arrow)
725 Ctrl+N = Next (like Down arrow)
727 No longer rerun autocompletion when just pushing a modifier key
728 like Control, Alt, Shift, or Meta.
730 Improved arrow key behavior with Multiline code in the Console, with the following behavior:
732 Up = Previous Command if on First Line (caret moves to the end of the first line)
733 otherwise default caret movement in text.
734 Down = Next Command if on Last Line (caret naturally moves to the end)
735 otherwise default caret movement in text.
737 * inspector/front-end/TextPrompt.js:
738 (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
739 (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
740 (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
741 (WebInspector.TextPrompt.prototype._upKeyPressed):
742 (WebInspector.TextPrompt.prototype._downKeyPressed):
743 (WebInspector.TextPrompt.prototype._moveBackInHistory):
744 (WebInspector.TextPrompt.prototype._moveForwardInHistory):
746 2009-11-21 Jessie Berlin <jberlin@webkit.org>
748 Reviewed by Timothy Hatcher.
750 Adds a tooltip containing the full url of the resource to each element
751 in the Resources panel so that it is possible to quickly see the query
753 https://bugs.webkit.org/show_bug.cgi?id=19103
755 * inspector/front-end/ResourcesPanel.js:
756 (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
757 Set the tooltip to be the resource's url.
759 2009-11-21 Simon Fraser <simon.fraser@apple.com>
761 Reviewed by Dan Bernstein.
763 CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
764 https://bugs.webkit.org/show_bug.cgi?id=31588
766 In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
767 so that findRule() and deleteRule() work with these keywords.
769 * css/WebKitCSSKeyframesRule.cpp:
770 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
772 2009-11-21 Daniel Bates <dbates@webkit.org>
774 Reviewed by Eric Seidel.
776 https://bugs.webkit.org/show_bug.cgi?id=31647
778 Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
780 No functionality was changed. So, no new tests.
782 * dom/KeyboardEvent.cpp:
783 (WebCore::KeyboardEvent::~KeyboardEvent):
784 * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
785 (WebCore::KeyboardEvent::keyEvent):
787 2009-11-20 Chris Fleizach <cfleizach@apple.com>
789 Reviewed by Beth Dakin.
791 WAI-ARIA: add support for aria-owns
792 https://bugs.webkit.org/show_bug.cgi?id=31702
794 Re-organized how accessibilityAttributeNames are returned so
795 that it's possible for an element to add an attribute based on
796 a dynamic value. In this case, we only want to add AXOwn if the
797 element actually supports aria-owns.
799 Test: platform/mac/accessibility/aria-owns.html
801 * accessibility/AccessibilityObject.h:
802 (WebCore::AccessibilityObject::supportsARIAOwns):
803 (WebCore::AccessibilityObject::ariaOwnsElements):
804 * accessibility/AccessibilityRenderObject.cpp:
805 (WebCore::AccessibilityRenderObject::ariaOwnsElements):
806 (WebCore::AccessibilityRenderObject::supportsARIAOwns):
807 * accessibility/AccessibilityRenderObject.h:
808 * accessibility/mac/AccessibilityObjectWrapper.mm:
809 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
810 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
811 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
812 * html/HTMLAttributeNames.in:
814 2009-11-20 Eric Carlson <eric.carlson@apple.com>
816 Reviewed by Simon Fraser.
818 <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
820 * css/mediaControls.css:
821 Define closed caption toggle button.
823 * rendering/RenderMedia.cpp:
824 (WebCore::RenderMedia::updateControls):
825 Create closed caption toggle button in display order.
827 * rendering/RenderThemeMac.mm:
828 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
829 Don't require MediaControllerThemeQuickTime theme for captions toggle button.
830 No need to check if the movie has video, a closed captions track is a video
833 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
835 Reviewed by Timothy Hatcher.
837 Web Inspector: Running code in the Console that ends with a
838 single line comment no longer produces a parse error.
840 * inspector/front-end/InjectedScript.js:
841 (InjectedScript._evaluateOn):
843 2009-11-20 Chris Fleizach <cfleizach@apple.com>
845 Reviewed by Beth Dakin.
847 WAI-ARIA: add support for 'math' role
848 https://bugs.webkit.org/show_bug.cgi?id=31706
850 * accessibility/AccessibilityObject.cpp:
851 * accessibility/AccessibilityObject.h:
852 * accessibility/mac/AccessibilityObjectWrapper.mm:
854 2009-11-20 Yael Aharon <yael.aharon@nokia.com>
856 Reviewed by Kenneth Rohde Christiansen.
858 NPN_ReloadPlugins does not reload the page even if reloadPages is true.
859 https://bugs.webkit.org/show_bug.cgi?id=30460
861 Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
862 It already refreshes plugins and reloads pages when necessary.
864 Tests: plugins/reloadplugins-and-pages.html
865 plugins/reloadplugins-no-pages.html
867 * plugins/PluginInfoStore.cpp:
868 (WebCore::refreshPlugins):
870 2009-11-20 Oliver Hunt <oliver@apple.com>
872 Reviewed by Dave Hyatt.
874 <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
876 Expose WebCore object serialization to WebKit.
879 * bindings/js/SerializedScriptValue.cpp:
880 (WebCore::SerializedScriptValue::~SerializedScriptValue):
881 (WebCore::SerializedScriptValue::create):
882 (WebCore::SerializedScriptValue::deserialize):
883 * bindings/js/SerializedScriptValue.h:
885 2009-11-20 Brian Weinstein <bweinstein@apple.com>
887 Reviewed by Tim Hatcher.
889 Fixes <http://webkit.org/b/31741>.
890 Web Inspector: User Entered Data on the console should show up no matter what filters.
892 Always show .console-user-command-result, no matter what the filter say
893 we should do with the other classes.
895 * inspector/front-end/inspector.css:
897 2009-11-20 Brian Weinstein <bweinstein@apple.com>
899 Reviewed by Tim Hatcher.
901 Fixes <http://webkit.org/b/31700>.
902 Web Inspector: isMac should be in one central location + Cached.
904 We should cache the value of isMac, and make the indexOf call in one
905 single location, because we are calling it from multiple places, and saving
906 the result can save us time, and make the call sites simpler.
908 * inspector/front-end/AbstractTimelinePanel.js:
909 (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
910 * inspector/front-end/ConsoleView.js:
911 (WebInspector.ConsoleView.prototype._updateFilter):
912 * inspector/front-end/ElementsPanel.js:
913 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
914 * inspector/front-end/ScriptsPanel.js:
915 (WebInspector.ScriptsPanel):
916 * inspector/front-end/SourceFrame.js:
917 (WebInspector.SourceFrame.prototype._loaded):
918 * inspector/front-end/inspector.js:
919 (WebInspector.documentKeyDown):
920 (WebInspector.isMac):
922 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
924 Removed .DS_Store accidentally added in last (r51245).
926 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
928 Reviewed by Timothy Hatcher.
930 Web Inspector: Add Console Only Layout Mode
931 https://bugs.webkit.org/show_bug.cgi?id=30282
933 Adds a Console Panel, which allows for a Full size Console. This
934 extends the Drawer to the size of a Panel. This also fixes previous
935 resize issues with the Drawer.
937 * inspector/front-end/ConsolePanel.js: added.
938 (WebInspector.ConsolePanel):
939 (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
940 (WebInspector.ConsolePanel.prototype.show):
941 (WebInspector.ConsolePanel.prototype.hide):
942 * inspector/front-end/Drawer.js:
943 (WebInspector.Drawer):
944 (WebInspector.Drawer.prototype.set visibleView):
945 (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
946 (WebInspector.Drawer.prototype.show.animationFinished):
947 (WebInspector.Drawer.prototype.show):
948 (WebInspector.Drawer.prototype.hide.animationFinished):
949 (WebInspector.Drawer.prototype.hide):
950 (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
951 (WebInspector.Drawer.prototype.enterPanelMode):
952 (WebInspector.Drawer.prototype.exitPanelMode):
953 (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
954 (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
955 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
956 (WebInspector.Drawer.prototype._animateDrawerHeight):
957 (WebInspector.Drawer.prototype._animationDuration):
958 (WebInspector.Drawer.prototype._startStatusBarDragging):
959 (WebInspector.Drawer.prototype._statusBarDragging):
960 (WebInspector.Drawer.prototype._endStatusBarDragging):
962 Miscellaneous changes and cleanup.
964 * English.lproj/localizedStrings.js: "Console" toolbar title.
965 * inspector/front-end/ConsoleView.js: removed unnecessary element reordering
966 * inspector/front-end/Images/consoleIcon.png: added.
967 * inspector/front-end/inspector.css: added icon.
968 * inspector/front-end/inspector.html:
969 * inspector/front-end/inspector.js:
970 (WebInspector._createPanels): create console panel
971 (WebInspector.windowResize): resize drawer if necessary
972 (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
973 (WebInspector.animateStyle): start animation interval, returns the interval key
974 (WebInspector.toggleAttach): resize drawer if necessary
975 (WebInspector.showConsolePanel): restore the panel when the inspector restarts
976 (WebInspector.showProfileForURL): style fix
978 Restore the panel when the inspector restarts.
980 * inspector/InspectorController.cpp:
981 (WebCore::InspectorController::setWindowVisible):
982 (WebCore::InspectorController::specialPanelForJSName):
983 * inspector/InspectorFrontend.cpp:
984 (WebCore::InspectorFrontend::showPanel):
989 * WebCore.vcproj/WebCore.vcproj:
990 * inspector/front-end/WebKit.qrc:
992 2009-11-20 Brian Weinstein <bweinstein@apple.com>
994 Reviewed by Tim Hatcher.
996 Fixes <http://webkit.org/b/31699>.
997 Web Inspector: Should Cache Values of InspectorController.platform() and port().
999 Refactor the Inspector to cache the value of InspectorController.platform
1000 and InspectorController.port, because those need to call into C++, they are
1001 being called more and more as we add platform specific keyboard shortcuts, and
1002 they shouldn't change in the lifecycle of the Web Inspector.
1004 * inspector/front-end/AbstractTimelinePanel.js:
1005 (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1006 * inspector/front-end/ConsoleView.js:
1007 (WebInspector.ConsoleView.prototype._updateFilter):
1008 * inspector/front-end/ElementsPanel.js:
1009 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1010 * inspector/front-end/ScriptsPanel.js:
1011 (WebInspector.ScriptsPanel):
1012 * inspector/front-end/SourceFrame.js:
1013 (WebInspector.SourceFrame.prototype._loaded):
1014 * inspector/front-end/inspector.js:
1015 (WebInspector.get platform):
1016 (WebInspector.get port):
1017 (WebInspector.loaded):
1018 (WebInspector.documentKeyDown):
1019 (WebInspector.toolbarDragStart):
1021 2009-11-20 Dirk Schulze <krit@webkit.org>
1023 Unreviewed build fix for filters enabled builds.
1025 * platform/graphics/filters/FEColorMatrix.cpp:
1026 (WebCore::FEColorMatrix::apply):
1027 * platform/graphics/filters/FEComposite.cpp:
1028 (WebCore::FEComposite::apply):
1029 * platform/graphics/filters/SourceGraphic.cpp:
1030 (WebCore::SourceGraphic::apply):
1031 * svg/graphics/SVGResourceFilter.cpp:
1032 (WebCore::SVGResourceFilter::applyFilter):
1033 * svg/graphics/filters/SVGFEMerge.cpp:
1034 (WebCore::FEMerge::apply):
1035 * svg/graphics/filters/SVGFEOffset.cpp:
1036 (WebCore::FEOffset::apply):
1037 * svg/graphics/filters/SVGFETile.cpp:
1038 (WebCore::FETile::apply):
1040 2009-11-20 Eric Carlson <eric.carlson@apple.com>
1042 Reviewed by Simon Fraser.
1044 <rdar://problem/7389945> QTKit based media engine should not claim to support
1045 fullscreen on Leopard
1047 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1048 (WebCore::MediaPlayerPrivate::supportsFullscreen):
1049 Only return true on SnowLeopard for now.
1051 * rendering/RenderThemeMac.mm:
1052 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1053 No need to special case MediaFullscreenButtonPart as the default implementation
1054 asks the media engine if it supports fullscreen.
1056 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
1058 Reviewed by Simon Hausmann.
1060 Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
1061 Girish Ramakrishnan <girish@forwardbias.in>
1063 [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
1064 without a QWebView or when inside QGraphicsWebView.
1066 Currently, the code provides the cgcontext of the PlatformPluginWidget to
1067 the plugin. This approach does not work when we are printing, or using
1068 QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
1069 up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
1070 of the QPaintDevice's context.
1072 To solve all cases and keep the code simple, we render the plugin to an
1073 offscreen pixmap in all cases. This way, the plugin always renders to the
1074 CGContext of the pixmap and we then use QPainter to blit the pixmap into
1075 the QPaintDevice. We also create a fake window and set it's WindowRef in
1076 NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
1078 Now, that's the theory. In practice, ATM, mouse events do not work when using
1079 the fake window. So, setPlatformPluginWidget() is still called when using QWebView
1080 so that there are no regressions after this patch. Once we get mouse events
1081 working, setPlatformPluginWidget will be removed.
1083 https://bugs.webkit.org/show_bug.cgi?id=31183
1085 * plugins/PluginView.cpp:
1086 (WebCore::PluginView::PluginView):
1087 * plugins/PluginView.h:
1088 * plugins/mac/PluginViewMac.cpp:
1089 (WebCore::PluginView::platformStart):
1090 (WebCore::PluginView::platformDestroy):
1091 (WebCore::PluginView::setNPWindowIfNeeded):
1092 (WebCore::PluginView::updatePluginWidget):
1093 (WebCore::PluginView::paint):
1094 (WebCore::PluginView::invalidateRect):
1096 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
1098 Reviewed by Timothy Hatcher.
1100 Web Inspector: Resync Resources Backend and Frontend
1101 https://bugs.webkit.org/show_bug.cgi?id=31705
1103 * inspector/front-end/Resource.js: resync enum values with backend
1104 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
1106 2009-11-19 Steve Block <steveblock@google.com>
1108 Reviewed by Darin Fisher.
1110 Android port lacks configuration in Platform.h and config.h.
1111 https://bugs.webkit.org/show_bug.cgi?id=31671
1113 Build change only. No new tests possible.
1115 * config.h: Modified. Added Android-specific configuration.
1117 2009-11-20 Roland Steiner <rolandsteiner@chromium.org>
1119 Reviewed by Darin Adler.
1121 Change default stylesheet to reset text indentation for ruby elements by default.
1122 (https://bugs.webkit.org/show_bug.cgi?id=31247)
1124 Test: fast/ruby/ruby-text-indent.html
1126 * css/html.css: reset text-indent on <ruby> and <rt> elements
1128 2009-11-19 Brian Weinstein <bweinstein@apple.com>
1130 Reviewed by Darin Adler.
1132 Fixes <http://webkit.org/b/22754>.
1133 Web Inspector: Keyboard shortcut for Element finder.
1135 Use Command + Shift + C as a shortcut for Node Search, to
1136 match the Firebug shortcut to do the same thing.
1138 * inspector/front-end/ElementsPanel.js:
1139 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1141 2009-11-19 Alexey Proskuryakov <ap@apple.com>
1143 Reviewed by Darin Adler.
1145 https://bugs.webkit.org/show_bug.cgi?id=31690
1146 Make SocketStreamHandleCFNet work on Windows
1148 * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
1150 * platform/network/ResourceHandle.h: Removed loaderRunLoop().
1152 * platform/network/cf/LoaderRunLoopCF.cpp: Added.
1153 (WebCore::emptyPerform):
1154 (WebCore::runLoaderThread):
1155 (WebCore::loaderRunLoop):
1156 * platform/network/cf/LoaderRunLoopCF.h: Added.
1157 Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
1158 it's needed for more than just resource loading.
1160 * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
1162 * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
1164 * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
1166 * platform/network/cf/SocketStreamHandleCFNet.cpp:
1167 (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
1168 inoperable main run loop.
1170 (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo):
1171 (WebCore::SocketStreamHandle::readStreamCallback):
1172 (WebCore::SocketStreamHandle::writeStreamCallback):
1173 (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
1174 (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
1175 Forward stream events to main thread on Windows.
1177 2009-11-19 Avi Drissman <avi@chromium.org>
1179 Reviewed by Darin Adler.
1182 https://bugs.webkit.org/show_bug.cgi?id=27777
1184 * platform/graphics/cg/PDFDocumentImage.cpp:
1186 2009-11-19 Beth Dakin <bdakin@apple.com>
1188 Build fix. No review needed.
1190 * platform/chromium/ScrollbarThemeChromium.cpp:
1191 (WebCore::ScrollbarThemeChromium::paintTickmarks):
1192 * rendering/RenderMediaControlsChromium.cpp:
1193 (WebCore::paintMediaButton):
1195 2009-11-19 Beth Dakin <bdakin@apple.com>
1197 Build fix. No review needed.
1199 * rendering/RenderThemeChromiumSkia.cpp:
1200 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1201 (WebCore::RenderThemeChromiumSkia::paintRadio):
1202 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
1203 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
1204 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
1206 2009-11-19 Beth Dakin <bdakin@apple.com>
1208 Build fix. No review needed.
1210 * platform/graphics/qt/StillImageQt.cpp:
1211 (WebCore::StillImage::draw):
1212 * platform/graphics/qt/StillImageQt.h:
1214 2009-11-19 Beth Dakin <bdakin@apple.com>
1216 Build fix. No review needed.
1218 * rendering/RenderThemeWin.cpp:
1219 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
1220 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
1221 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
1223 2009-11-19 Beth Dakin <bdakin@apple.com>
1225 Build fix. No review needed.
1227 * plugins/PluginView.cpp:
1228 (WebCore::PluginView::paintMissingPluginIcon):
1230 2009-11-19 Beth Dakin <bdakin@apple.com>
1232 Build fix. No review needed.
1234 * platform/graphics/win/ImageCGWin.cpp:
1235 (WebCore::BitmapImage::getHBITMAPOfSize):
1236 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1238 2009-11-19 Beth Dakin <bdakin@apple.com>
1240 Reviewed by Darin Adler.
1242 Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
1243 color-correction work with untagged images
1245 Image's draw(), drawPattern(), and fillWithSolidColor() functions
1246 now take a ColorSpace. A bunch of classes inherit from Image, so
1247 draw() and drawPattern() functions there must also take a
1249 * platform/graphics/Image.cpp:
1250 (WebCore::Image::fillWithSolidColor):
1251 (WebCore::Image::drawTiled):
1252 * platform/graphics/Image.h:
1253 * platform/graphics/BitmapImage.h:
1254 * platform/graphics/GeneratedImage.cpp:
1255 (WebCore::GeneratedImage::draw):
1256 (WebCore::GeneratedImage::drawPattern):
1257 * platform/graphics/GeneratedImage.h:
1258 * platform/graphics/cg/PDFDocumentImage.cpp:
1259 (WebCore::PDFDocumentImage::draw):
1260 * platform/graphics/cg/PDFDocumentImage.h:
1261 * svg/graphics/SVGImage.cpp:
1262 (WebCore::SVGImage::draw):
1263 * svg/graphics/SVGImage.h:
1265 All of the drawImage() functions and drawTiled() functions of
1266 GraphicsContext now take a ColorSpace.
1267 * platform/graphics/GraphicsContext.cpp:
1268 (WebCore::GraphicsContext::drawImage):
1269 (WebCore::GraphicsContext::drawTiledImage):
1270 * platform/graphics/GraphicsContext.h:
1272 This is where the actual work is done.
1273 * platform/graphics/cg/ImageCG.cpp:
1274 (WebCore::imageWithColorSpace): New static function that returns a
1275 copy of the given image in the given ColorSpace *IF* we should use
1276 the given ColorSpace. We will ignore the color space if the image
1277 is tagged and return 0.
1278 (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to
1279 call imageWithColorSpace().
1280 (WebCore::Image::drawPattern): Same.
1282 Attempt to keep all ports building.
1283 * platform/graphics/cairo/ImageCairo.cpp:
1284 (WebCore::BitmapImage::draw):
1285 (WebCore::Image::drawPattern):
1286 * platform/graphics/haiku/ImageHaiku.cpp:
1287 (WebCore::BitmapImage::draw):
1288 (WebCore::Image::drawPattern):
1289 * platform/graphics/qt/ImageQt.cpp:
1290 (WebCore::Image::drawPattern):
1291 (WebCore::BitmapImage::draw):
1292 * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
1293 * platform/graphics/skia/ImageSkia.cpp:
1294 (WebCore::Image::drawPattern):
1295 (WebCore::BitmapImage::draw):
1296 (WebCore::BitmapImageSingleFrameSkia::draw):
1297 * platform/graphics/wx/ImageWx.cpp:
1298 (WebCore::BitmapImage::draw):
1299 (WebCore::BitmapImage::drawPattern):
1301 Callers of GraphicsContext's drawImage() and drawTiled() functions
1302 now need to send a ColorSpace.
1303 * html/HTMLCanvasElement.cpp:
1304 (WebCore::HTMLCanvasElement::paint):
1305 * html/canvas/CanvasRenderingContext2D.cpp:
1306 (WebCore::CanvasRenderingContext2D::drawImage):
1307 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1308 * platform/ScrollView.cpp:
1309 (WebCore::ScrollView::wheelEvent):
1310 * platform/graphics/filters/FEColorMatrix.cpp:
1311 (WebCore::FEColorMatrix::apply):
1312 * platform/graphics/filters/FEComposite.cpp:
1313 (WebCore::FEComposite::apply):
1314 * platform/graphics/filters/SourceGraphic.cpp:
1315 (WebCore::SourceGraphic::apply):
1316 * platform/mac/ScrollbarThemeMac.mm:
1317 (WebCore::ScrollbarThemeMac::paint):
1318 * rendering/RenderBoxModelObject.cpp:
1319 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1320 (WebCore::RenderBoxModelObject::paintNinePieceImage):
1321 * rendering/RenderImage.cpp:
1322 (WebCore::RenderImage::paintReplaced):
1323 * rendering/RenderLayer.cpp:
1324 (WebCore::RenderLayer::paintResizer):
1325 * rendering/RenderListMarker.cpp:
1326 (WebCore::RenderListMarker::paint):
1327 * rendering/RenderSVGImage.cpp:
1328 (WebCore::RenderSVGImage::paint):
1329 * rendering/RenderWidget.cpp:
1330 (WebCore::RenderWidget::paint):
1331 * svg/graphics/SVGPaintServerPattern.cpp:
1332 (WebCore::SVGPaintServerPattern::setup):
1333 * svg/graphics/SVGResourceFilter.cpp:
1334 (WebCore::SVGResourceFilter::applyFilter):
1335 * svg/graphics/filters/SVGFEMerge.cpp:
1336 (WebCore::FEMerge::apply):
1337 * svg/graphics/filters/SVGFEOffset.cpp:
1338 (WebCore::FEOffset::apply):
1339 * svg/graphics/filters/SVGFETile.cpp:
1340 (WebCore::FETile::apply):
1342 2009-11-19 Avi Drissman <avi@chromium.org>
1344 Reviewed by Darin Adler.
1346 Properly create a CGImageRef on non-PLATFORM(MAC).
1347 https://bugs.webkit.org/show_bug.cgi?id=27777
1349 * platform/graphics/cg/ImageSourceCG.cpp:
1350 (WebCore::sharedBufferGetBytesAtPosition):
1351 (WebCore::sharedBufferRelease):
1352 (WebCore::ImageSource::setData):
1353 * platform/graphics/cg/ImageSourceCG.h:
1354 * platform/graphics/cg/PDFDocumentImage.cpp:
1355 (WebCore::PDFDocumentImage::dataChanged):
1357 2009-11-19 Oliver Hunt <oliver@apple.com>
1359 Reviewed by Dave Hyatt.
1361 -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
1362 https://bugs.webkit.org/show_bug.cgi?id=31656
1364 Make sure we're a child of the painting root before drawing overflow features.
1366 * manual-tests/user-drag-with-decorations.html: Added.
1367 * rendering/RenderBlock.cpp:
1368 (WebCore::RenderBlock::paint):
1370 2009-11-19 Dmitry Titov <dimich@chromium.org>
1372 Not reviewed, attempt to fix Chromium build.
1374 * rendering/RenderMediaControlsChromium.cpp:
1375 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
1377 2009-11-19 Rahul Kuchhal <kuchhal@chromium.org>
1379 Reviewed by Darin Adler.
1381 Do not assert when a high number is used for roman numerals in lists.
1382 https://bugs.webkit.org/show_bug.cgi?id=31652
1384 Test: fast/lists/ol-start-roman.html
1386 * rendering/RenderListMarker.cpp:
1387 (WebCore::toRoman): Increase the char array size.
1389 2009-11-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1391 Rubber-stamped by Oliver Hunt.
1393 Add translatable strings to cover validationMessage, after
1394 r51172. Already covered by existing test.
1396 * platform/gtk/LocalizedStringsGtk.cpp:
1397 (WebCore::validationMessageValueMissingText):
1398 (WebCore::validationMessageTypeMismatchText):
1399 (WebCore::validationMessagePatternMismatchText):
1400 (WebCore::validationMessageTooLongText):
1401 (WebCore::validationMessageRangeUnderflowText):
1402 (WebCore::validationMessageRangeOverflowText):
1403 (WebCore::validationMessageStepMismatchText):
1405 2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1407 Reviewed by Darin Adler.
1409 Remove HAVE(FLOAT_H) guard
1410 https://bugs.webkit.org/show_bug.cgi?id=31661
1412 WebCore has a dependency on float.h, there is
1413 no need to guard float.h.
1415 No new tests as there is no functional change.
1417 * html/HTMLInputElement.cpp: Remove include directive
1418 for float.h as it is included in MathExtras.h already.
1420 2009-11-19 Simon Fraser <simon.fraser@apple.com>
1422 Reviewed by Pavel Feldman.
1424 Instrumentation should account for painting in compositing layers
1425 https://bugs.webkit.org/show_bug.cgi?id=31674
1427 Add calls to InspectorTimelineAgent for painting into compositing layers,
1428 which is not accounted for in FrameView::paintContents().
1430 * rendering/RenderLayerBacking.cpp:
1431 (WebCore::RenderLayerBacking::paintIntoLayer):
1432 Avoid fetching the FrameView multiple times.
1434 (WebCore::inspectorTimelineAgent):
1435 (WebCore::RenderLayerBacking::paintContents):
1437 2009-11-19 Eric Carlson <eric.carlson@apple.com>
1439 Reviewed by Dan Bernstein.
1441 <rdar://problem/7035231>
1442 Support closed caption in <video> element
1444 Test: media/media-captions.html
1447 * accessibility/AccessibilityMediaControls.cpp:
1448 (WebCore::AccessibilityMediaControl::controlTypeName):
1449 Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
1451 * css/CSSPrimitiveValueMappings.h:
1452 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1453 Add MediaToggleClosedCaptionsButtonPart.
1455 * css/CSSSelector.cpp:
1456 (WebCore::CSSSelector::extractPseudoType):
1457 Define and match mediaControlsToggleClosedCaptionsButton.
1459 * css/CSSSelector.h:
1460 (WebCore::CSSSelector::):
1461 * css/CSSStyleSelector.cpp:
1462 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1463 Define and match PseudoMediaControlsToggleClosedCaptions.
1465 * css/CSSValueKeywords.in:
1466 Define and use media-toggle-closed-captions-button.
1468 * css/mediaControls.css:
1469 * css/mediaControlsQuickTime.css:
1470 Add webkit-media-controls-toggle-closed-captions-button.
1472 * html/HTMLMediaElement.cpp:
1473 (WebCore::HTMLMediaElement::HTMLMediaElement):
1474 Initialize m_closedCaptionsVisible.
1475 (WebCore::HTMLMediaElement::loadInternal):
1476 Set m_closedCaptionsVisible to false.
1477 (WebCore::HTMLMediaElement::hasClosedCaptions):
1478 (WebCore::HTMLMediaElement::closedCaptionsVisible):
1479 (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
1480 New, captions internal methods.
1481 (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible):
1482 (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible):
1483 (WebCore::HTMLMediaElement::webkitHasClosedCaptions):
1484 New, captions DOM API.
1486 * html/HTMLMediaElement.h:
1487 * html/HTMLMediaElement.idl:
1488 Declare methods needed for captions API.
1490 * platform/ThemeTypes.h:
1491 Add MediaToggleClosedCaptionsButtonPart.
1493 * platform/android/LocalizedStringsAndroid.cpp:
1494 (WebCore::localizedMediaControlElementString):
1495 (WebCore::localizedMediaControlElementHelpText):
1496 (WebCore::localizedMediaTimeDescription):
1497 Add empty implmentations.
1499 * platform/graphics/MediaPlayer.cpp:
1500 (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
1501 (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
1502 New, empty implementations of media engine closed caption functions.
1503 (WebCore::MediaPlayer::hasClosedCaptions):
1504 (WebCore::MediaPlayer::setClosedCaptionsVisible):
1505 New, call media engine closed caption functions.
1507 * platform/graphics/MediaPlayer.h:
1508 * platform/graphics/MediaPlayerPrivate.h:
1509 (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
1510 (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
1511 Declare new media engine methods.
1513 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1514 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1515 (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1516 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1517 New, QTKit implementation of closed caption methods.
1519 * platform/gtk/LocalizedStringsGtk.cpp:
1520 (WebCore::localizedMediaControlElementString):
1521 (WebCore::localizedMediaControlElementHelpText):
1522 Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
1524 * platform/mac/WebCoreSystemInterface.h:
1525 * platform/mac/WebCoreSystemInterface.mm:
1526 Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
1528 * rendering/MediaControlElements.cpp:
1529 (WebCore::MediaControlInputElement::MediaControlInputElement):
1530 Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1531 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
1532 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
1533 (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
1534 New, implement the closed caption toggle button,
1536 * rendering/MediaControlElements.h:
1537 Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
1538 declare MediaControlToggleClosedCaptionsButtonElement.
1540 * rendering/RenderMedia.cpp:
1541 (WebCore::RenderMedia::styleDidChange):
1542 (WebCore::RenderMedia::createToggleClosedCaptionsButton):
1543 (WebCore::RenderMedia::createStatusDisplay):
1544 (WebCore::RenderMedia::updateControls):
1545 (WebCore::RenderMedia::forwardEvent):
1546 * rendering/RenderMedia.h:
1547 Deal with m_toggleClosedCaptionsButton.
1549 * rendering/RenderTheme.cpp:
1550 (WebCore::RenderTheme::paint):
1551 Deal with MediaToggleClosedCaptionsButtonPart.
1553 * rendering/RenderTheme.h:
1554 * rendering/RenderThemeMac.h:
1555 Declare paintMediaToggleClosedCaptionsButton.
1557 * rendering/RenderThemeMac.mm:
1558 (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
1560 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1561 Don't render captions toggle button unless we are using the new theme, the
1562 movie has captions, and the movie is in a <video> element since we currently
1563 rely on QTKit to render the captions.
1565 * rendering/style/RenderStyleConstants.h:
1566 Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1568 2009-11-19 Kevin Ollivier <kevino@theolliviers.com>
1570 wx build fix. Add missing header.
1572 * platform/wx/LocalizedStringsWx.cpp:
1574 2009-11-19 Alexey Proskuryakov <ap@apple.com>
1576 Reviewed by Darin Adler.
1578 https://bugs.webkit.org/show_bug.cgi?id=31634
1579 Ignore realm for proxy protection spaces
1581 Only affects WebSocket proxy authentication, cannot be tested in DRT.
1583 * platform/network/ProtectionSpace.cpp:
1584 (WebCore::operator==):
1585 * platform/network/ProtectionSpaceHash.h:
1586 (WebCore::ProtectionSpaceHash::hash):
1588 2009-11-19 Olivier Goffart <ogoffart@trolltech.com>
1590 Reviewed by Simon Hausmann.
1592 [Qt] Normalize signal and slot signatures.
1594 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1595 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1597 2009-11-19 Alexander Pavlov <apavlov@chromium.org>
1599 Reviewed by Pavel Feldman.
1601 Store cookie domains in the WebInspector object
1603 The cookie domains have been moved from StoragePanel into WebInspector.
1604 Also, the document URLs are now passed inside the WebInspector.addResource()
1605 payload rather than pushed directly from InspectorController.
1606 https://bugs.webkit.org/show_bug.cgi?id=31627
1608 * inspector/InspectorController.cpp:
1609 (WebCore::InspectorController::populateScriptObjects):
1610 (WebCore::InspectorController::didFinishLoading):
1611 * inspector/InspectorFrontend.cpp:
1612 * inspector/InspectorFrontend.h:
1613 * inspector/InspectorResource.cpp:
1614 (WebCore::InspectorResource::createScriptObject):
1615 (WebCore::InspectorResource::updateScriptObject):
1616 * inspector/front-end/StoragePanel.js:
1617 (WebInspector.StoragePanel.prototype.reset):
1618 (WebInspector.StoragePanel.prototype.addCookieDomain):
1619 * inspector/front-end/inspector.js:
1620 (WebInspector.addResource):
1621 (WebInspector.addCookieDomain):
1622 (WebInspector.reset):
1624 2009-11-19 Zoltan Horvath <zoltan@webkit.org>
1626 Reviewed by Darin Adler.
1628 Allow custom memory allocation control for the other part of platform directory in WebCore
1629 https://bugs.webkit.org/show_bug.cgi?id=31585
1631 Inherits the following classes from FastAllocBase because these are
1632 instantiated by 'new':
1634 class RegularExpression - instantiated at: WebCore/page/Frame.cpp:415
1635 class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
1636 class Path - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
1637 class FontPlatformData - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
1639 Inherits the following classes from Noncopyable because these are
1640 instantiated by 'new' and no need to be copyable:
1642 class Cursors - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
1643 class NetworkStateNotifier - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
1644 struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
1646 class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
1647 class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
1649 * platform/graphics/MediaPlayerPrivate.h:
1650 * platform/graphics/Path.h:
1651 * platform/graphics/qt/FontPlatformData.h:
1652 * platform/graphics/transforms/TransformationMatrix.h:
1653 * platform/image-decoders/ImageDecoder.h:
1654 * platform/network/NetworkStateNotifier.h:
1655 * platform/network/ResourceRequestBase.h:
1656 * platform/qt/CursorQt.cpp:
1657 * platform/text/RegularExpression.h:
1659 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1663 [Qt] Build fix for QtWebKit after r51172.
1665 * platform/qt/Localizations.cpp:
1666 (WebCore::validationMessageValueMissingText):
1667 (WebCore::validationMessageTypeMismatchText):
1668 (WebCore::validationMessagePatternMismatchText):
1669 (WebCore::validationMessageTooLongText):
1670 (WebCore::validationMessageRangeUnderflowText):
1671 (WebCore::validationMessageRangeOverflowText):
1672 (WebCore::validationMessageStepMismatchText):
1674 2009-11-18 Dan Bernstein <mitz@apple.com>
1676 Reviewed by Simon Fraser.
1678 Fixed <rdar://problem/7398987> Assertion failure in
1679 RenderLayer::updateClipRects when a plug-in’s enclosing layer is
1680 enclosed by a transformed layer
1682 Tests: fast/layers/clip-rects-transformed-2.html
1683 fast/layers/clip-rects-transformed.html
1685 * rendering/RenderLayer.cpp:
1686 (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
1687 that is either transformed or composited. During painting and hit
1688 testing, when a transformed or composited layer is hit, it becomes the
1689 new root layer, which ultimately gets passed to calculateRects().
1690 (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
1691 root layer to calculateRects(), and return the bounding box of the
1692 transformed rectangle.
1693 (WebCore::RenderLayer::selfClipRect): Ditto.
1694 * rendering/RenderLayer.h:
1696 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1698 Reviewed by Kenneth Rohde Christiansen.
1700 [Qt] Remove support for Qt v4.3 or older versions
1701 https://bugs.webkit.org/show_bug.cgi?id=29469
1703 No new tests as there is no change if compiled with
1704 Qt v4.4 or later version.
1707 * dom/XMLTokenizerQt.cpp:
1708 (WebCore::EntityResolver::resolveUndeclaredEntity):
1709 (WebCore::XMLTokenizer::XMLTokenizer):
1710 (WebCore::XMLTokenizer::~XMLTokenizer):
1711 (WebCore::XMLTokenizer::doWrite):
1712 (WebCore::XMLTokenizer::startDocument):
1713 (WebCore::XMLTokenizer::parseDtd):
1714 * platform/graphics/qt/FontQt.cpp:
1715 * platform/graphics/qt/FontQt43.cpp: Removed.
1716 * platform/graphics/qt/ImageQt.cpp:
1717 * platform/network/ResourceHandleInternal.h:
1718 * platform/network/qt/QNetworkReplyHandler.cpp:
1719 * platform/network/qt/QNetworkReplyHandler.h:
1720 * platform/network/qt/ResourceHandleQt.cpp:
1721 (WebCore::ResourceHandle::start):
1722 (WebCore::ResourceHandle::cancel):
1723 (WebCore::ResourceHandle::loadResourceSynchronously):
1724 (WebCore::ResourceHandle::setDefersLoading):
1725 * platform/network/qt/ResourceRequest.h:
1726 * platform/network/qt/ResourceRequestQt.cpp:
1727 * platform/qt/ClipboardQt.cpp:
1728 (WebCore::ClipboardQt::clearData):
1729 * platform/qt/CookieJarQt.cpp:
1730 (WebCore::cookieJar):
1731 (WebCore::setCookies):
1733 (WebCore::cookiesEnabled):
1734 * platform/qt/PlatformKeyboardEventQt.cpp:
1735 (WebCore::keyIdentifierForQtKeyCode):
1736 (WebCore::windowsKeyCodeForKeyEvent):
1737 * platform/text/qt/TextBoundaries.cpp:
1738 * platform/text/qt/TextBreakIteratorQt.cpp:
1739 * plugins/qt/PluginDataQt.cpp:
1740 (WebCore::PluginData::initPlugins):
1742 2009-11-18 Michelangelo De Simone <micdesim@gmail.com>
1744 Reviewed by Darin Adler.
1746 Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
1747 Support for validationMessage attribute, as per HTML5 specs.
1749 Test: fast/forms/validationMessage.html
1751 * html/HTMLButtonElement.idl: validationMessage attribute
1752 * html/HTMLFieldSetElement.idl: validationMessage attribute
1753 * html/HTMLFormControlElement.cpp:
1754 * html/HTMLFormControlElement.h:
1755 * html/HTMLInputElement.idl: validationMessage attribute
1756 * html/HTMLSelectElement.idl: validationMessage attribute
1757 * html/HTMLTextAreaElement.idl: validationMessage attribute
1758 * html/ValidityState.cpp: new method to retrieve pertinent localized text
1759 * html/ValidityState.h:
1760 * page/mac/WebCoreViewFactory.h:
1761 * platform/LocalizedStrings.h:
1762 * platform/android/LocalizedStringsAndroid.cpp:
1763 * platform/gtk/LocalizedStringsGtk.cpp:
1764 * platform/haiku/LocalizedStringsHaiku.cpp:
1765 * platform/mac/LocalizedStringsMac.mm:
1766 * platform/wx/LocalizedStringsWx.cpp:
1768 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1772 Fix a typo. Remove the trailing semicolon
1773 from an include directive after r51137.
1775 No new tests as there is no functional change.
1777 * platform/qt/QWebPageClient.h:
1779 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1783 [Qt] Build fix for QtWebKit after r51159.
1785 Include float.h for DBL_MANT_DIG. Not sure why this
1786 is not a problem for other ports.
1788 * html/HTMLInputElement.cpp:
1790 2009-11-19 Roland Steiner <rolandsteiner@chromium.org>
1792 Reviewed by Darin Adler.
1794 Bug 31574 - Crashing bug when removing <ruby> element
1795 (https://bugs.webkit.org/show_bug.cgi?id=31574)
1798 1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
1799 2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
1800 3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
1801 4.) this triggers the special handling of child removal in RenderRubyRun that
1802 causes it to destroy itself
1803 5.) On returning from all this the renderer crashes when accessing a member
1804 or virtual function on this now illegal object.
1806 I therefore added a flag that tracks if the ruby run is being destroyed.
1807 If so, avoid doing the special handling in removeChild that caused this.
1808 It's not the most elegant solution, but the easiest to implement without
1809 touching unrelated code. Also, it's self-documenting.
1811 Test: fast/ruby/ruby-remove.html
1813 * rendering/RenderRubyRun.cpp:
1814 (WebCore::RenderRubyRun::RenderRubyRun):
1815 (WebCore::RenderRubyRun::destroy):
1816 (WebCore::RenderRubyRun::removeChild):
1817 * rendering/RenderRubyRun.h:
1819 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1821 Reviewed by Kenneth Rohde Christiansen.
1823 [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
1824 https://bugs.webkit.org/show_bug.cgi?id=31643
1826 No new tests as there is no functional change.
1830 2009-11-18 Yong Li <yong.li@torchmobile.com>
1832 Reviewed by Eric Seidel.
1834 Implement TextBoundaries for WINCE port.
1835 https://bugs.webkit.org/show_bug.cgi?id=27371
1837 * platform/text/wince/TextBoundariesWince.cpp: Added.
1839 2009-11-18 Yong Li <yong.li@torchmobile.com>
1841 Reviewed by Eric Seidel.
1843 Implement TextBreakIterator for WINCE port.
1844 https://bugs.webkit.org/show_bug.cgi?id=27371
1846 * platform/text/wince/TextBreakIteratorWince.cpp: Added.
1848 2009-11-18 Kent Tamura <tkent@chromium.org>
1850 Reviewed by Darin Adler.
1852 Add support for ValidityState.typeMismatch for the following INPUT types:
1853 date datetime datetime-local month time week
1854 https://bugs.webkit.org/show_bug.cgi?id=31342
1856 Tests: fast/forms/ValidityState-typeMismatch-date.html
1857 fast/forms/ValidityState-typeMismatch-datetime.html
1858 fast/forms/ValidityState-typeMismatch-datetimelocal.html
1859 fast/forms/ValidityState-typeMismatch-month.html
1860 fast/forms/ValidityState-typeMismatch-time.html
1861 fast/forms/ValidityState-typeMismatch-week.html
1863 * html/HTMLInputElement.cpp:
1864 (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
1865 validity of the specified type and string using the ISODateTime class.
1866 * html/HTMLInputElement.h:
1867 * html/ValidityState.cpp:
1868 (WebCore::ValidityState::typeMismatch): Check the type validity
1869 for date, datetime, datetime-local, month, time and week with
1870 HTMLInputElemtn::formStringToISODateTime()
1872 2009-11-18 Maciej Stachowiak <mjs@apple.com>
1874 Reviewed by Oliver Hunt.
1876 Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
1877 https://bugs.webkit.org/show_bug.cgi?id=31237
1879 Also speeds up Dromaeo DOM Core tests by 1.31x.
1881 * bindings/js/JSNodeCustom.cpp:
1882 (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
1883 mark bit was no longer effective; instead I changed things so only a node that has no ancestors
1884 with wrappers would do marking; there should be only one in the typical case (the root of the
1887 (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
1890 2009-11-18 Darin Adler <darin@apple.com>
1892 Reviewed by Sam Weinig.
1894 Get rid of the redundant strokeType and fillType data members on
1895 a GraphicsContext as well as the FillOrStrokeType enum. Use
1896 null pointers instead.
1898 * platform/graphics/GraphicsContext.cpp:
1899 (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
1901 (WebCore::GraphicsContext::setFillColor): Ditto.
1902 (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
1903 (WebCore::GraphicsContext::setFillPattern): Ditto.
1904 (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
1905 (WebCore::GraphicsContext::setFillGradient): Ditto.
1907 * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
1909 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1910 (WebCore::setPlatformFill): Use null checks on fillPattern and
1911 fillGraident instead of a switch statement.
1912 (WebCore::setPlatformStroke): Ditto.
1914 * platform/graphics/cg/GraphicsContextCG.cpp:
1915 (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
1916 (WebCore::GraphicsContext::applyFillPattern): Ditto.
1917 (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
1918 to see if there is a pattern instead of fillType and strokeType.
1919 (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
1920 fillPattern, and strokePattern instead of fillType and strokeType.
1921 (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
1922 is used in the pattern and gradient case probably erroneously. Moved
1923 gradient code inside an if statement. Streamlined pattern code and
1924 use an if statement. No switch any more.
1925 (WebCore::GraphicsContext::strokePath): Ditto.
1926 (WebCore::GraphicsContext::fillRect): Ditto.
1927 (WebCore::GraphicsContext::strokeRect): Ditto.
1929 * platform/graphics/qt/GraphicsContextQt.cpp:
1930 (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
1931 fillGraident instead of a switch statement.
1932 (WebCore::GraphicsContext::strokePath): Ditto.
1933 (WebCore::GraphicsContext::fillRect): Ditto.
1935 * platform/graphics/wince/GraphicsContextWince.cpp:
1936 (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
1937 (WebCore::GraphicsContext::fillRect): Ditto.
1939 2009-11-18 Kent Tamura <tkent@chromium.org>
1941 Reviewed by Darin Adler.
1943 Support for step attribute and ValidityStae.stepMismatch for
1944 type=number and range. stepMismatch will be false if the
1945 difference between the current value and a multiple of the step
1946 value is very small.
1948 Change the behavior of RenderSlider so that it always has a value
1949 rounded to the step attribute value.
1951 https://bugs.webkit.org/show_bug.cgi?id=31331
1953 Tests: fast/forms/ValidityState-stepMismatch-number.html
1954 fast/forms/ValidityState-stepMismatch-range.html
1955 fast/forms/ValidityState-stepMismatch-unsupported.html
1956 fast/forms/input-step.html
1958 * html/HTMLAttributeNames.in: Add "step".
1959 * html/HTMLInputElement.cpp:
1960 (WebCore::HTMLInputElement::stepMismatch):
1961 (WebCore::HTMLInputElement::getStepParameters):
1962 (WebCore::HTMLInputElement::getAllowedValueStep):
1963 * html/HTMLInputElement.h:
1964 * html/HTMLInputElement.idl: Add "step".
1965 * html/ValidityState.cpp:
1966 (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
1967 * html/ValidityState.h:
1968 * rendering/RenderSlider.cpp:
1969 (WebCore::SliderRange::SliderRange):
1970 (WebCore::SliderRange::clampValue):
1972 2009-11-18 Dmitry Titov <dimich@chromium.org>
1974 Reviewed by Darin Adler.
1976 Need to ASSERT(isMainThread()) in ThreadShared methods.
1977 https://bugs.webkit.org/show_bug.cgi?id=31637
1979 Added ASSERT(IsMainThread()) to all following methods:
1980 * platform/TreeShared.h:
1981 (WebCore::TreeShared::TreeShared):
1982 (WebCore::TreeShared::~TreeShared):
1983 (WebCore::TreeShared::ref):
1984 (WebCore::TreeShared::deref):
1985 (WebCore::TreeShared::setParent):
1986 (WebCore::TreeShared::parent):
1988 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
1990 Reviewed by Eric Seidel.
1992 Add plugin visibility manual test
1994 https://bugs.webkit.org/show_bug.cgi?id=31542
1996 * manual-tests/plugins/windowed.html:
1997 * manual-tests/plugins/windowless.html:
1999 2009-11-18 Patrick Mueller <Patrick_Mueller@us.ibm.com>
2001 Reviewed by Pavel Feldman.
2003 Web Inspector - remember last script displayed in Scripts panel
2004 https://bugs.webkit.org/show_bug.cgi?id=27552
2008 * inspector/front-end/ScriptsPanel.js:
2009 (WebInspector.ScriptsPanel.prototype.showScript):
2010 (WebInspector.ScriptsPanel.prototype.showResource):
2011 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2012 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2013 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2014 (WebInspector.ScriptsPanel.prototype._goBack):
2015 (WebInspector.ScriptsPanel.prototype._goForward):
2016 * manual-tests/inspector/remember-last-script.html: Added.
2018 2009-11-18 Shinichiro Hamaji <hamaji@chromium.org>
2020 Reviewed by Dimitri Glazkov.
2022 Win chromium is slow to draw transparent texts
2023 https://bugs.webkit.org/show_bug.cgi?id=31258
2025 Create bounded transparency layers instead of just clipping.
2027 No new tests because this is just a performance improvement.
2029 * platform/graphics/chromium/FontChromiumWin.cpp:
2030 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2032 2009-11-18 Shu Chang <Chang.Shu@nokia.com>
2034 Reviewed by Eric Seidel.
2036 [Qt] Add support for displaying deleteButton.
2037 https://bugs.webkit.org/show_bug.cgi?id=31560
2039 Test: LayoutTests/editing/deleting/5408255.html
2042 * platform/graphics/qt/ImageQt.cpp:
2043 (loadResourcePixmap):
2045 2009-11-18 Mikhail Naganov <mnaganov@chromium.org>
2047 Reviewed by Eric Seidel.
2049 Fix Qt build without JavaScript debugger.
2051 https://bugs.webkit.org/show_bug.cgi?id=31575
2055 2009-11-18 Daniel Bates <dbates@webkit.org>
2057 Reviewed by Dave Hyatt.
2059 https://bugs.webkit.org/show_bug.cgi?id=24971
2061 <rdar://problem/7138265>
2063 Fixes an issue where setting the height of a table row programmatically
2064 (via JavaScript) causes the table to be improperly rendered because the
2065 height of each row in the table is not recalculated with respect to the
2066 CSS height property.
2068 In particular, programmatically setting the height of some table row causes
2069 the rows of that table to be rendered with a height equal to the minimum
2070 height required by the cells in that row, regardless of any specified cell
2071 heights. Instead, when RenderTableSection::recalcCells is called, the height
2072 of each row should be set to the CSS height property just as we do in
2073 RenderTableSection::addChild.
2075 Test: fast/table/row-height-recalc2.html
2077 * rendering/RenderTableSection.cpp:
2078 (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
2079 (WebCore::RenderTableSection::addChild): Moved code that set row height into
2080 method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2081 (WebCore::RenderTableSection::recalcCells): Modified to call
2082 WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2084 2009-11-18 Zoltan Horvath <zoltan@webkit.org>
2086 Reviewed by Darin Adler.
2088 Allow custom memory allocation control for the part of platform directory in WebCore
2089 https://bugs.webkit.org/show_bug.cgi?id=31473
2091 Inherits the following classes from FastAllocBase because these are
2092 instantiated by 'new':
2094 class AnimationList - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
2095 class Color - instantiated at WebCore/rendering/RenderTheme.cpp:48
2096 struct Length - instantiated at WebCore/platform/Length.cpp:103
2097 class PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
2098 class ContextMenuItem - instantiated at WebCore/platform/ContextMenu.cpp:70
2099 class DeprecatedPtrList - instantiated at WebCore/rendering/RenderBlock.cpp:2284
2101 Inherits the following classes from Noncopyable because these are
2102 instantiated by 'new' and no need to be copyable:
2104 class GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
2105 class FontCache - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
2106 struct MediaPlayerFactory - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
2107 class DeprecatedPtrListNode - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
2109 * platform/ContextMenuItem.h:
2110 * platform/DeprecatedPtrList.h:
2111 * platform/DeprecatedPtrListImpl.cpp:
2112 * platform/Length.h:
2113 * platform/PlatformKeyboardEvent.h:
2114 * platform/animation/AnimationList.h:
2115 * platform/graphics/Color.h:
2116 * platform/graphics/FontCache.h:
2117 * platform/graphics/GraphicsContextPrivate.h:
2118 * platform/graphics/MediaPlayer.cpp:
2120 2009-11-18 Daniel Bates <dbates@webkit.org>
2122 Reviewed by Darin Adler.
2124 https://bugs.webkit.org/show_bug.cgi?id=31186
2126 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2127 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2128 These are more descriptive names so as to clear an ambiguity surrounding
2129 their usage. Also, renames associated setters and getters so that they
2130 coincide with the renamed fields.
2132 No functionality was changed. So, no tests were included.
2134 * bindings/objc/DOMHTML.mm:
2135 (-[DOMHTMLInputElement _isEdited]):
2136 (-[DOMHTMLTextAreaElement _isEdited]):
2138 (WebCore::Document::setFocusedNode):
2139 * html/HTMLInputElement.cpp:
2140 (WebCore::HTMLInputElement::defaultEventHandler):
2141 * rendering/RenderTextControl.cpp:
2142 (WebCore::RenderTextControl::RenderTextControl):
2143 (WebCore::RenderTextControl::setInnerTextValue):
2144 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2145 (WebCore::RenderTextControl::subtreeHasChanged):
2146 * rendering/RenderTextControl.h:
2147 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2148 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2149 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2150 * rendering/RenderTextControlSingleLine.cpp:
2151 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2152 * wml/WMLInputElement.cpp:
2153 (WebCore::WMLInputElement::defaultEventHandler):
2155 2009-11-18 Tony Chang <tony@chromium.org>
2157 Reviewed by Adam Barth.
2159 Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
2160 https://bugs.webkit.org/show_bug.cgi?id=31499
2162 No new tests, just a build cleanup.
2165 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
2166 * bindings/v8/custom/V8CustomBinding.h:
2168 2009-11-18 Kevin Watters <kevinwatters@gmail.com>
2170 Reviewed by Kevin Ollivier.
2172 Enable wx plugin support using the Windows implementation as a base.
2174 https://bugs.webkit.org/show_bug.cgi?id=31636
2176 * platform/graphics/GraphicsContext.h:
2177 (WebCore::GraphicsContext::inTransparencyLayer):
2178 * platform/graphics/wx/GraphicsContextWx.cpp:
2179 (WebCore::GraphicsContext::getWindowsContext):
2180 (WebCore::GraphicsContext::releaseWindowsContext):
2181 * platform/wx/FileSystemWx.cpp:
2182 (WebCore::unloadModule):
2183 (WebCore::listDirectory):
2184 * plugins/PluginDatabase.cpp:
2185 * plugins/PluginView.cpp:
2186 (WebCore::PluginView::stop):
2187 (WebCore::PluginView::PluginView):
2188 * plugins/PluginView.h:
2189 * plugins/win/PluginViewWin.cpp:
2190 (windowHandleForPageClient):
2191 (WebCore::PluginView::handleMouseEvent):
2192 (WebCore::PluginView::platformStart):
2193 (WebCore::PluginView::snapshot):
2196 2009-11-18 Andrei Popescu <andreip@google.com>
2198 Reviewed by Dimitri Glazkov.
2200 [Android] Add shared timer and sound utilities to platform/android
2201 https://bugs.webkit.org/show_bug.cgi?id=31584
2203 No new tests required, this is platform specific code.
2205 * platform/android/SharedTimerAndroid.cpp: Added.
2206 (WebCore::setSharedTimerFiredFunction):
2207 (WebCore::setSharedTimerFireTime):
2208 (WebCore::stopSharedTimer):
2209 * platform/android/SoundAndroid.cpp: Added.
2210 (WebCore::systemBeep):
2212 2009-11-18 Mikhail Naganov <mnaganov@chromium.org>
2214 Reviewed by Timothy Hatcher.
2216 Fix profile tree nodes loss after focus / restore actions.
2218 Focusing on a node is currently implemented via nodes reattaching
2219 with some caching involved. It seems that not all code was updated
2220 to handle this scenario correctly.
2222 https://bugs.webkit.org/show_bug.cgi?id=31553
2224 * inspector/front-end/BottomUpProfileDataGridTree.js:
2225 (WebInspector.BottomUpProfileDataGridNode):
2226 (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
2227 (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
2228 (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
2229 * inspector/front-end/DataGrid.js:
2230 (WebInspector.DataGrid.prototype.insertChild):
2231 (WebInspector.DataGridNode.prototype._detach):
2232 (WebInspector.DataGridNode.prototype.savePosition):
2233 (WebInspector.DataGridNode.prototype.restorePosition):
2234 * inspector/front-end/TopDownProfileDataGridTree.js:
2235 (WebInspector.TopDownProfileDataGridTree.prototype.focus):
2236 (WebInspector.TopDownProfileDataGridTree.prototype.restore):
2238 2009-11-18 Carol Szabo <carol.szabo@nokia.com>
2240 Reviewed by Kenneth Rohde Christiansen.
2242 [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
2244 https://bugs.webkit.org/show_bug.cgi?id=31527
2246 No new tests as this is just a coding style fix that affects the
2247 build of some not yet submitted patches (i.e. for bug 30173).
2249 * platform/qt/QWebPageClient.h:
2251 2009-11-18 Nicolas Roard <nicolas@roard.com>
2253 Reviewed by Dimitri Glazkov.
2255 InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
2256 https://bugs.webkit.org/show_bug.cgi?id=31504
2258 * inspector/InspectorTimelineAgent.h:Added the guard.
2260 2009-11-18 Jens Alfke <snej@chromium.org>
2262 Build fix to my previous checkin, for Windows Chromium
2264 * svg/SVGAnimatedProperty.h:
2265 (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
2267 2009-11-18 Joseph Pecoraro <joepeck@webkit.org>
2269 Reviewed by Pavel Feldman.
2271 Web Inspector: Directly Access <head> Instead of Searching for It
2272 https://bugs.webkit.org/show_bug.cgi?id=31641
2274 Changed old access of the head element (document.getElementsByTagName)
2275 to just use the document.head accessor.
2277 * inspector/front-end/FontView.js:
2278 (WebInspector.FontView):
2279 * inspector/front-end/InjectedScript.js:
2280 (InjectedScript.addStyleSelector):
2281 * inspector/front-end/SourceFrame.js:
2282 (WebInspector.SourceFrame.prototype._loaded):
2283 * inspector/front-end/inspector.js:
2286 2009-11-18 Sam Weinig <sam@webkit.org>
2288 Reviewed by Anders Carlsson.
2290 Fix two Geolocation assertions.
2293 (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
2294 is not called from JS.
2295 * page/Geolocation.cpp:
2296 (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
2299 2009-11-18 Alexey Proskuryakov <ap@apple.com>
2301 Case sensitive file system build fix.
2303 * platform/network/Credential.h: It's not WTF, just wtf.
2305 2009-11-18 Aaron Golden <agolden@apple.com>
2307 Reviewed by Alexey Proskuryakov.
2309 Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
2310 objects and WebCore::Credential objects without losing certificate information.
2312 * platform/network/Credential.cpp:
2313 (WebCore::Credential::Credential): Adding a constructor that takes an identity argument and a certificate chain argument
2314 (WebCore::Credential::isEmpty): Modifying isEmpty to support certificate based credentials (which don't have a username or password)
2315 (WebCore::Credential::identity): Accessor for the m_identity property
2316 (WebCore::Credential::certificates): Accessor for the m_certificates property
2317 (WebCore::Credential::type): Accessor for the m_type property
2318 (WebCore::operator==): Modifying == to compare the identity and certificate chains of certificate based credentials.
2319 * platform/network/Credential.h: Adding new fields to WebCore::Credential to support certificate based credentials.
2320 * platform/network/mac/AuthenticationMac.mm:
2321 (WebCore::mac): Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
2322 (WebCore::core): Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
2324 2009-11-18 Dmitry Titov <dimich@chromium.org>
2326 Reviewed by Eric Seidel.
2328 Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
2329 https://bugs.webkit.org/show_bug.cgi?id=31615
2332 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2333 (WebCore::ScriptExecutionContextTaskTimer::fired):
2334 (WebCore::PerformTaskContext::PerformTaskContext):
2335 (WebCore::performTask):
2336 (WebCore::Document::postTask):
2337 * dom/ScriptExecutionContext.cpp:
2338 * dom/ScriptExecutionContext.h:
2340 2009-11-18 Jens Alfke <snej@chromium.org>
2342 Reviewed by Darin Adler.
2344 Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
2345 by causing the right v8-to-WebCore conversion function to be called for every parameter.
2346 This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
2347 To enforce correctness, I added a mode that disables implicit
2348 String-->AtomicString conversions while compiling the generated bindings.
2349 https://bugs.webkit.org/show_bug.cgi?id=31168
2351 * bindings/scripts/CodeGeneratorV8.pm: Generate usage of V8Parameter class.
2352 * bindings/v8/DerivedSourcesAllInOne.cpp: Enable NO_IMPLICIT_ATOMICSTRING.
2353 * bindings/v8/V8Binding.h: Add V8Parameter class.
2354 * css/WebKitCSSKeyframesRule.h: Make AtomicString conversions explicit.
2355 * dom/Document.idl: Remove obsolete [HintAtomic] annotation.
2356 * platform/text/AtomicString.h: Added NO_IMPLICIT_ATOMICSTRING option.
2357 * svg/SVGAnimatedTemplate.h: Change some return types to String to avoid implicit conversion.
2358 * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
2360 2009-11-18 Darin Adler <darin@apple.com>
2362 Reviewed by Dan Bernstein.
2364 Move FillOrStrokeType out of public header.
2366 * platform/graphics/GraphicsContext.h: Updated copyright date to cover
2367 some years we published Apple changes, sorted forward declarations,
2368 removed FillOrStrokeType enum.
2369 * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
2370 to cover some years we published Apple changes, sorted includes,
2371 moved FillOrStrokeType enum here.
2373 2009-11-18 Chris Marrin <cmarrin@apple.com>
2375 Reviewed by Simon Fraser.
2377 Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
2378 https://bugs.webkit.org/show_bug.cgi?id=31601
2380 These are used to debug accelerated compositing layers. I removed
2381 the platform specific code from GraphicsLayerCA.mm and added calls
2382 to GraphicsLayerClient to get it from the higher levels. The values
2383 now get cached in RenderLayerCompositing and are queried from there
2384 by RenderLayerBacking (which implements the GraphicsLayerClient interface).
2387 * page/FrameView.cpp:
2388 (WebCore::FrameView::updateCompositingLayers):
2389 * page/Settings.cpp:
2390 (WebCore::Settings::Settings):
2391 (WebCore::Settings::setShowDebugBorders):
2392 (WebCore::Settings::setShowRepaintCounter):
2394 (WebCore::Settings::showDebugBorders):
2395 (WebCore::Settings::showRepaintCounter):
2396 * platform/graphics/GraphicsLayer.h:
2397 (WebCore::GraphicsLayer::showDebugBorders):
2398 (WebCore::GraphicsLayer::showRepaintCounter):
2399 * platform/graphics/GraphicsLayerClient.h:
2400 * platform/graphics/mac/GraphicsLayerCA.mm:
2401 * rendering/RenderLayerBacking.cpp:
2402 (WebCore::RenderLayerBacking::showDebugBorders):
2403 (WebCore::RenderLayerBacking::showRepaintCounter):
2404 * rendering/RenderLayerBacking.h:
2405 * rendering/RenderLayerCompositor.cpp:
2406 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2407 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2408 * rendering/RenderLayerCompositor.h:
2409 (WebCore::RenderLayerCompositor::showDebugBorders):
2410 (WebCore::RenderLayerCompositor::showRepaintCounter):
2412 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
2414 Reviewed by Timothy Hatcher.
2416 Web Inspector: Get rid of metrics and properties sidebars'
2419 https://bugs.webkit.org/show_bug.cgi?id=31629
2421 * inspector/front-end/MetricsSidebarPane.js:
2422 * inspector/front-end/PropertiesSidebarPane.js:
2424 2009-11-17 Brian Weinstein <bweinstein@apple.com>
2426 Reviewed by Pavel Feldman.
2428 Fixes <http://webkit.org/b/31606>.
2429 Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
2431 This implements Enter starting editing mode in an editable DataGrid. If the
2432 DataGrid is editable and the user hits return, startEditing the first child
2433 of the selected node. Also refactored some editing functions to take an
2434 event target instead of the event itself, because the functions only needed
2435 the target. Lastly, added had return in editing mode stop propogation, because
2436 when enter was hit to confirm text, it would propagate back to the datagrid
2437 and try to start editing again.
2439 * inspector/front-end/DataGrid.js:
2440 (WebInspector.DataGrid.prototype._ondblclick):
2441 (WebInspector.DataGrid.prototype._startEditing):
2442 (WebInspector.DataGrid.prototype.handleKeyEvent):
2443 (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
2444 (WebInspector.DataGrid.prototype._mouseDownInDataTable):
2445 (WebInspector.DataGrid.prototype._clickInDataTable):
2446 * inspector/front-end/inspector.js:
2447 (WebInspector.startEditing.element.handleKeyEvent):
2448 (WebInspector.startEditing):
2450 2009-11-18 Ben Murdoch <benm@google.com>
2452 Reviewed by Darin Adler.
2454 HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
2455 https://bugs.webkit.org/show_bug.cgi?id=31593
2457 Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
2459 * html/HTMLAnchorElement.cpp:
2460 (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
2462 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
2464 Not reviewed. Touch InspectorController so that frontend
2465 JS files are deployed on Windows.
2467 * inspector/InspectorController.cpp:
2469 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
2471 Reviewed by Timothy Hatcher.
2473 Web Inspector: clone timeline records array instead of
2474 copying reference on invalidate all.
2476 https://bugs.webkit.org/show_bug.cgi?id=31596
2478 * inspector/front-end/AbstractTimelinePanel.js:
2479 (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
2481 2009-11-18 Simon Fraser <simon.fraser@apple.com>
2483 Reviewed by Dan Bernstein.
2485 Elements don't drop out of compositing layers when animation ends
2486 https://bugs.webkit.org/show_bug.cgi?id=31613
2487 <rdar://problem/7402913>
2489 Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
2490 are compositing anyway for other reasons. Doing so can cause those layers
2491 to stay in compositing mode even after animations finish, because needsToBeComposited()
2492 continues to return true.
2494 No new tests because it's not possible to determine which elements are in
2495 compositing layers from DRT output.
2497 * rendering/RenderLayerCompositor.cpp:
2498 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2500 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
2502 Reviewed by Tor Arne Vestbø.
2504 [Qt] Mac Plugins: Remove null timer
2506 A null timer was used to send mouse move events. Instead, we now use
2507 move events to send nullEvent. This brings down CPU usage by 20-30%.
2509 https://bugs.webkit.org/show_bug.cgi?id=31624
2511 * plugins/PluginView.h:
2512 * plugins/mac/PluginViewMac.cpp:
2513 (WebCore::PluginView::platformStart):
2514 (WebCore::PluginView::handleMouseEvent):
2516 2009-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
2518 Reviewed by Simon Hausmann.
2520 [Qt] WebKit crashes when loading certain SVG images
2522 Check if the familly exist before creating the PlatformData from it.
2524 https://bugs.webkit.org/show_bug.cgi?id=29443
2526 Test: svg/text/text-font-invalid.html
2528 * platform/graphics/qt/FontFallbackListQt.cpp:
2529 (WebCore::FontFallbackList::fontDataAt):
2531 2009-11-17 Nicolas Weber <thakis@chromium.org>
2533 Reviewed by Darin Fisher.
2535 Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
2537 https://bugs.webkit.org/show_bug.cgi?id=31609
2539 * platform/chromium/PopupMenuChromium.cpp:
2540 (WebCore::PopupContainer::showExternal): Set parent for external
2541 dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
2542 its parent's client.
2544 2009-11-17 Hayato Ito <hayato@google.com>
2546 Reviewed by Darin Adler.
2548 Avoid infinite mutual recursion when deeply nested tags are loaded
2549 https://bugs.webkit.org/show_bug.cgi?id=30651
2551 Test: fast/parser/block-nesting-cap-table.html
2553 * html/HTMLParser.cpp:
2554 (WebCore::HTMLParser::parseToken):
2555 (WebCore::tagPriorityOfNode):
2556 (WebCore::HTMLParser::limitBlockDepth):
2557 (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
2558 (WebCore::HTMLParser::insertNode):
2559 * html/HTMLParser.h:
2561 2009-11-17 Brent Fulgham <bfulgham@webkit.org>
2563 Rubber-stamped by Alexey Proskuryakov.
2565 Final clean-ups for minor coding standard violations.
2566 https://bugs.webkit.org/show_bug.cgi?id=26102.
2568 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2570 2009-11-17 Johnny Ding <jnd@chromium.org>
2572 Reviewed by Darin Adler.
2574 In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
2575 https://bugs.webkit.org/show_bug.cgi?id=31567
2577 * dom/ScriptElement.cpp:
2578 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
2580 2009-11-17 Pavel Feldman <pfeldman@chromium.org>
2582 Reviewed by Timothy Hatcher.
2584 Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
2585 - Updated DRT to show/close inspector for all tests under /inspector
2586 - Introduced LayoutTestController::setTimelineProfilingEnabled and
2587 WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
2588 - Removed reload on each inspector test
2589 - Renamed fast/inspector to fast/inspector-support in order not to trigger
2590 inspector for those.
2591 - Reimplemented timeline tests in order to get rid of reload there.
2592 - Moved tests that don't require harness into the fast group.
2594 https://bugs.webkit.org/show_bug.cgi?id=31472
2596 * WebCore.Inspector.exp:
2597 * inspector/front-end/TimelinePanel.js:
2598 (WebInspector.TimelinePanel.prototype._formatRecord):
2600 2009-11-17 Andrei Popescu <andreip@google.com>
2602 Reviewed by Dimitri Glazkov.
2604 [Android] Android is missing the implementation of the GeolocationService iface.
2605 https://bugs.webkit.org/show_bug.cgi?id=31554
2607 No new tests required as this is platform specific code.
2609 * platform/android/GeolocationServiceAndroid.cpp: Added.
2610 (WebCore::GeolocationServiceAndroid::create):
2611 (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
2612 (WebCore::GeolocationServiceAndroid::startUpdating):
2613 (WebCore::GeolocationServiceAndroid::stopUpdating):
2614 (WebCore::GeolocationServiceAndroid::suspend):
2615 (WebCore::GeolocationServiceAndroid::resume):
2616 (WebCore::GeolocationServiceAndroid::newPositionAvailable):
2617 (WebCore::GeolocationServiceAndroid::newErrorAvailable):
2618 (WebCore::GeolocationServiceAndroid::timerFired):
2619 (WebCore::GeolocationServiceAndroid::isPositionMovement):
2620 (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
2621 (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
2622 * platform/android/GeolocationServiceAndroid.h: Added.
2623 (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
2624 (WebCore::GeolocationServiceAndroid::lastPosition):
2625 (WebCore::GeolocationServiceAndroid::lastError):
2626 * platform/android/GeolocationServiceBridge.cpp: Added.
2628 (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
2629 (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
2630 (WebCore::GeolocationServiceBridge::start):
2631 (WebCore::GeolocationServiceBridge::stop):
2632 (WebCore::GeolocationServiceBridge::setEnableGps):
2633 (WebCore::GeolocationServiceBridge::newLocationAvailable):
2634 (WebCore::GeolocationServiceBridge::newErrorAvailable):
2635 (WebCore::GeolocationServiceBridge::toGeoposition):
2636 (WebCore::GeolocationServiceBridge::startJavaImplementation):
2637 (WebCore::GeolocationServiceBridge::stopJavaImplementation):
2638 * platform/android/GeolocationServiceBridge.h: Added.
2640 2009-11-16 Kent Tamura <tkent@chromium.org>
2642 Unreviewd build fix.
2644 - Fix typo in WebCore.vcproj.
2645 - Intlude limits.h for INT_MAX.
2646 - Enclose with parenthesis to suspress warning.
2648 * WebCore.vcproj/WebCore.vcproj:
2649 * html/ISODateTime.cpp:
2650 (WebCore::ISODateTime::addDay):
2652 2009-11-16 Robin Dunn <robin@alldunn.com>
2654 Reviewed by Kevin Ollivier.
2656 Make sure wx scrollbar drawing code factors in transforms when switching backends,
2657 fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
2659 https://bugs.webkit.org/show_bug.cgi?id=31570
2661 * platform/wx/ScrollbarThemeWx.cpp:
2662 (WebCore::ScrollbarThemeWx::minimumThumbLength):
2663 (WebCore::ScrollbarThemeWx::splitTrack):
2664 (WebCore::ScrollbarThemeWx::forwardButtonRect):
2665 * platform/wx/ScrollbarThemeWx.h:
2666 * platform/wx/wxcode/gtk/scrollbar_render.cpp:
2667 (wxRenderer_DrawScrollbar):
2668 * platform/wx/wxcode/scrollbar_render.h:
2669 (calcThumbStartAndLength):
2670 * platform/wx/wxcode/win/scrollbar_render.cpp:
2671 (wxRenderer_DrawScrollbar):
2673 2009-11-16 Kent Tamura <tkent@chromium.org>
2675 Reviewed by David Levin.
2677 Introduce WebCore::ISODateTime class.
2678 https://bugs.webkit.org/show_bug.cgi?id=31340
2680 This class represents a value of date/time types of the HTML5 INPUT
2681 element, and has some parsing methods for ISO 8601.
2683 This change has no tests because the class is not used yet.
2685 * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
2686 * WebCore.gypi: ditto.
2687 * WebCore.pro: ditto.
2688 * WebCore.vcproj/WebCore.vcproj: ditto.
2689 * WebCore.xcodeproj/project.pbxproj: ditto.
2690 * WebCoreSources.bkl: ditto.
2691 * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
2692 (WebCore::isLeapYear):
2693 (WebCore::maxDayOfMonth):
2694 (WebCore::dayOfWeek):
2695 (WebCore::ISODateTime::maxWeekNumberInYear):
2696 (WebCore::countDigits):
2698 (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
2699 (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
2700 (WebCore::ISODateTime::addMinute): ditto.
2701 (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
2702 (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
2703 (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
2704 (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
2705 (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
2706 (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
2707 (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
2708 * html/ISODateTime.h: Added. Declare WebCore::ISODateTime class.
2709 (WebCore::ISODateTime::ISODateTime):
2710 (WebCore::ISODateTime::millisecond):
2711 (WebCore::ISODateTime::second):
2712 (WebCore::ISODateTime::minute):
2713 (WebCore::ISODateTime::hour):
2714 (WebCore::ISODateTime::monthDay):
2715 (WebCore::ISODateTime::month):
2716 (WebCore::ISODateTime::fullYear):
2717 (WebCore::ISODateTime::week):
2719 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2721 Fix a typo in previous commit.
2723 * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
2725 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2727 Fix a typo in previous commit.
2729 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2731 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2735 * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
2736 differently in Tiger CFNetwork.
2738 2009-11-16 Dimitri Glazkov <dglazkov@chromium.org>
2740 Reviewed by Darin Fisher.
2742 [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
2744 Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
2746 Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
2748 * platform/KURLGoogle.cpp:
2749 (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
2751 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2753 Rubber-stamped by Jon Honeycutt.
2755 A better Windows build fix
2757 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
2758 Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
2760 2009-11-16 Yael Aharon <yael.aharon@nokia.com>
2762 Reviewed by Darin Adler.
2764 Rename protocolIsValid to isValidProtocol.
2765 https://bugs.webkit.org/show_bug.cgi?id=31503
2767 This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
2769 No new tests since no new functionality was introduced.
2771 * html/HTMLAnchorElement.cpp:
2772 (WebCore::HTMLAnchorElement::setProtocol):
2773 * platform/KURL.cpp:
2774 (WebCore::isValidProtocol):
2776 * platform/KURLGoogle.cpp:
2777 (WebCore::isValidProtocol):
2779 2009-11-16 Chris Fleizach <cfleizach@apple.com>
2781 Reviewed by Beth Dakin.
2783 AX: aria-labelledby duplicates some of its WAI-ARIA label
2784 https://bugs.webkit.org/show_bug.cgi?id=31565
2786 Test: accessibility/aria-labelledby-overrides-label.html
2788 * accessibility/AccessibilityRenderObject.cpp:
2789 (WebCore::AccessibilityRenderObject::hasTextAlternative):
2790 (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
2791 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2792 * accessibility/AccessibilityRenderObject.h:
2794 2009-11-16 Nate Chapin <japhet@chromium.org>
2796 Reviewed by Darin Fisher.
2798 Handle the case of a null NPObject* in NPN_SetException in
2799 the V8 bindings. This allow out of process plugins calling
2800 NPN_SetException to just send null instead of sending an
2801 NPObject* that would be an address in a different
2802 process's memory space.
2804 https://bugs.webkit.org/show_bug.cgi?id=31561
2806 * bindings/v8/NPV8Object.cpp:
2807 (_NPN_SetException): Allow null NPObject* and just throw a general error.
2809 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2813 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
2814 Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
2816 2009-11-14 Yael Aharon <yael.aharon@nokia.com>
2818 Reviewed by Kenneth Rohde Christiansen.
2820 [Qt] ASSERT failure while running DRT
2821 https://bugs.webkit.org/show_bug.cgi?id=30978
2823 Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
2824 These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
2826 * bridge/qt/qt_instance.cpp:
2827 (JSC::Bindings::QtRuntimeObjectImp::createStructure):
2828 * bridge/qt/qt_runtime.h:
2829 (JSC::Bindings::QtRuntimeMethod::createStructure):
2831 2009-11-16 Mark Rowe <mrowe@apple.com>
2833 Attempt to fix the build. Land a file that was missing from r51049.
2835 * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
2836 (WebCore::setWebGLArrayFromArray):
2838 2009-11-16 Kenneth Russell <kbr@google.com>
2840 Reviewed by Oliver Hunt.
2842 Update API of WebGLArray and friends
2843 https://bugs.webkit.org/show_bug.cgi?id=31175
2845 * bindings/js/JSWebGLArrayCustom.cpp:
2847 * bindings/js/JSWebGLArrayHelper.h: Added.
2848 (WebCore::setWebGLArrayFromArray):
2849 * bindings/js/JSWebGLByteArrayCustom.cpp:
2850 (WebCore::JSWebGLByteArray::set):
2851 * bindings/js/JSWebGLFloatArrayCustom.cpp:
2852 (WebCore::JSWebGLFloatArray::set):
2853 * bindings/js/JSWebGLIntArrayCustom.cpp:
2854 (WebCore::JSWebGLIntArray::set):
2855 * bindings/js/JSWebGLShortArrayCustom.cpp:
2856 (WebCore::JSWebGLShortArray::set):
2857 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2858 (WebCore::JSWebGLUnsignedByteArray::set):
2859 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2860 (WebCore::JSWebGLUnsignedIntArray::set):
2861 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2862 (WebCore::JSWebGLUnsignedShortArray::set):
2863 * bindings/scripts/CodeGeneratorV8.pm:
2864 * bindings/v8/V8DOMWrapper.cpp:
2865 (WebCore::V8DOMWrapper::convertToV8Object):
2866 * bindings/v8/custom/V8CustomBinding.h:
2867 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
2868 (WebCore::CALLBACK_FUNC_DECL):
2869 * bindings/v8/custom/V8WebGLArrayCustom.h:
2870 (WebCore::constructWebGLArray):
2871 (WebCore::getWebGLArrayElement):
2872 (WebCore::setWebGLArrayFromArray):
2873 (WebCore::setWebGLArray):
2874 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2875 (WebCore::CALLBACK_FUNC_DECL):
2876 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2877 (WebCore::CALLBACK_FUNC_DECL):
2878 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2879 (WebCore::CALLBACK_FUNC_DECL):
2880 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2881 (WebCore::CALLBACK_FUNC_DECL):
2882 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2883 (WebCore::CALLBACK_FUNC_DECL):
2884 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2885 (WebCore::CALLBACK_FUNC_DECL):
2886 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2887 (WebCore::CALLBACK_FUNC_DECL):
2888 * html/canvas/WebGLArray.cpp:
2889 (WebCore::WebGLArray::WebGLArray):
2890 (WebCore::WebGLArray::~WebGLArray):
2891 (WebCore::WebGLArray::setImpl):
2892 * html/canvas/WebGLArray.h:
2893 (WebCore::WebGLArray::isByteArray):
2894 (WebCore::WebGLArray::isUnsignedByteArray):
2895 (WebCore::WebGLArray::isShortArray):
2896 (WebCore::WebGLArray::isUnsignedShortArray):
2897 (WebCore::WebGLArray::isIntArray):
2898 (WebCore::WebGLArray::isUnsignedIntArray):
2899 (WebCore::WebGLArray::isFloatArray):
2900 (WebCore::WebGLArray::buffer):
2901 (WebCore::WebGLArray::baseAddress):
2902 (WebCore::WebGLArray::byteOffset):
2903 * html/canvas/WebGLArray.idl:
2904 * html/canvas/WebGLArrayBuffer.cpp:
2905 (WebCore::WebGLArrayBuffer::create):
2906 (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
2907 (WebCore::WebGLArrayBuffer::data):
2908 (WebCore::WebGLArrayBuffer::byteLength):
2909 (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
2910 * html/canvas/WebGLArrayBuffer.h:
2911 * html/canvas/WebGLByteArray.cpp:
2912 (WebCore::WebGLByteArray::create):
2913 (WebCore::WebGLByteArray::byteLength):
2914 (WebCore::WebGLByteArray::slice):
2915 (WebCore::WebGLByteArray::set):
2916 * html/canvas/WebGLByteArray.h:
2917 (WebCore::WebGLByteArray::isByteArray):
2918 (WebCore::WebGLByteArray::data):
2919 (WebCore::WebGLByteArray::set):
2920 (WebCore::WebGLByteArray::get):
2921 (WebCore::WebGLByteArray::item):
2922 * html/canvas/WebGLByteArray.idl:
2923 * html/canvas/WebGLFloatArray.cpp:
2924 (WebCore::WebGLFloatArray::create):
2925 (WebCore::WebGLFloatArray::WebGLFloatArray):
2926 (WebCore::WebGLFloatArray::length):
2927 (WebCore::WebGLFloatArray::byteLength):
2928 (WebCore::WebGLFloatArray::slice):
2929 (WebCore::WebGLFloatArray::set):
2930 * html/canvas/WebGLFloatArray.h:
2931 (WebCore::WebGLFloatArray::isFloatArray):
2932 (WebCore::WebGLFloatArray::data):
2933 (WebCore::WebGLFloatArray::set):
2934 (WebCore::WebGLFloatArray::get):
2935 (WebCore::WebGLFloatArray::item):
2936 * html/canvas/WebGLFloatArray.idl:
2937 * html/canvas/WebGLIntArray.cpp:
2938 (WebCore::WebGLIntArray::create):
2939 (WebCore::WebGLIntArray::WebGLIntArray):
2940 (WebCore::WebGLIntArray::length):
2941 (WebCore::WebGLIntArray::byteLength):
2942 (WebCore::WebGLIntArray::slice):
2943 (WebCore::WebGLIntArray::set):
2944 * html/canvas/WebGLIntArray.h:
2945 (WebCore::WebGLIntArray::isIntArray):
2946 (WebCore::WebGLIntArray::data):
2947 (WebCore::WebGLIntArray::set):
2948 (WebCore::WebGLIntArray::get):
2949 (WebCore::WebGLIntArray::item):
2950 * html/canvas/WebGLIntArray.idl:
2951 * html/canvas/WebGLShortArray.cpp:
2952 (WebCore::WebGLShortArray::create):
2953 (WebCore::WebGLShortArray::WebGLShortArray):
2954 (WebCore::WebGLShortArray::length):
2955 (WebCore::WebGLShortArray::byteLength):
2956 (WebCore::WebGLShortArray::slice):
2957 (WebCore::WebGLShortArray::set):
2958 * html/canvas/WebGLShortArray.h:
2959 (WebCore::WebGLShortArray::isShortArray):
2960 (WebCore::WebGLShortArray::data):
2961 (WebCore::WebGLShortArray::set):
2962 (WebCore::WebGLShortArray::get):
2963 (WebCore::WebGLShortArray::item):
2964 * html/canvas/WebGLShortArray.idl:
2965 * html/canvas/WebGLUnsignedByteArray.cpp:
2966 (WebCore::WebGLUnsignedByteArray::create):
2967 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
2968 (WebCore::WebGLUnsignedByteArray::length):
2969 (WebCore::WebGLUnsignedByteArray::byteLength):
2970 (WebCore::WebGLUnsignedByteArray::slice):
2971 (WebCore::WebGLUnsignedByteArray::set):
2972 * html/canvas/WebGLUnsignedByteArray.h:
2973 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
2974 (WebCore::WebGLUnsignedByteArray::data):
2975 (WebCore::WebGLUnsignedByteArray::set):
2976 (WebCore::WebGLUnsignedByteArray::get):
2977 (WebCore::WebGLUnsignedByteArray::item):
2978 * html/canvas/WebGLUnsignedByteArray.idl:
2979 * html/canvas/WebGLUnsignedIntArray.cpp:
2980 (WebCore::WebGLUnsignedIntArray::create):
2981 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
2982 (WebCore::WebGLUnsignedIntArray::length):
2983 (WebCore::WebGLUnsignedIntArray::byteLength):
2984 (WebCore::WebGLUnsignedIntArray::slice):
2985 (WebCore::WebGLUnsignedIntArray::set):
2986 * html/canvas/WebGLUnsignedIntArray.h:
2987 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
2988 (WebCore::WebGLUnsignedIntArray::data):
2989 (WebCore::WebGLUnsignedIntArray::set):
2990 (WebCore::WebGLUnsignedIntArray::get):
2991 (WebCore::WebGLUnsignedIntArray::item):
2992 * html/canvas/WebGLUnsignedIntArray.idl:
2993 * html/canvas/WebGLUnsignedShortArray.cpp:
2994 (WebCore::WebGLUnsignedShortArray::create):
2995 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
2996 (WebCore::WebGLUnsignedShortArray::length):
2997 (WebCore::WebGLUnsignedShortArray::byteLength):
2998 (WebCore::WebGLUnsignedShortArray::slice):
2999 (WebCore::WebGLUnsignedShortArray::set):
3000 * html/canvas/WebGLUnsignedShortArray.h:
3001 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
3002 (WebCore::WebGLUnsignedShortArray::data):
3003 (WebCore::WebGLUnsignedShortArray::set):
3004 (WebCore::WebGLUnsignedShortArray::get):
3005 (WebCore::WebGLUnsignedShortArray::item):
3006 * html/canvas/WebGLUnsignedShortArray.idl:
3007 * platform/graphics/mac/GraphicsContext3DMac.cpp:
3008 (WebCore::GraphicsContext3D::bufferData):
3009 (WebCore::GraphicsContext3D::bufferSubData):
3011 2009-11-16 Alexey Proskuryakov <ap@apple.com>
3015 * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
3017 2009-11-15 Brent Fulgham <bfulgham@webkit.org>
3019 Reviewed by Oliver Hunt.
3021 Enable support for webkit-box-shadow in Cairo builds.
3022 https://bugs.webkit.org/show_bug.cgi?id=26102.
3024 Covered by existing fast/box-shadow tests.
3026 * platform/graphics/cairo/GraphicsContextCairo.cpp: Add
3027 support for fillRect shadows.
3029 2009-11-16 Alexey Proskuryakov <ap@apple.com>
3033 * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
3034 in WebKitSupportLibrary.
3036 2009-11-16 Alexey Proskuryakov <ap@apple.com>
3038 Reviewed by Darin Adler.
3040 https://bugs.webkit.org/show_bug.cgi?id=31494
3041 Add unauthenticated proxy support to SocketStreamHandleCFNet
3043 Cannot be tested in DRT.
3045 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3046 (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
3047 (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
3049 2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
3051 Reviewed by Antti Koivisto.
3053 [Qt] Broken back/forward after using ErrorPageExtension to set error page
3054 https://bugs.webkit.org/show_bug.cgi?id=30573
3056 Make FrameLoader::checkLoadCompleteForThisFrame method
3057 to check for any working DocumentLoader instance (through
3058 activeDocumentLoader()) instead of only checking for
3059 'm_provisionalDocumentLoader' in order to decide to if
3060 it is going to reset of not the back and forward history.
3061 after an error page has been loaded.
3063 Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
3065 * loader/FrameLoader.cpp:
3066 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3068 2009-11-14 Chris Fleizach <cfleizach@apple.com>
3070 Reviewed by Darin Adler.
3072 Need to implement ARIA role="directory"
3073 https://bugs.webkit.org/show_bug.cgi?id=31516
3075 Test: platform/mac/accessibility/aria-directory.html
3077 * accessibility/AXObjectCache.cpp:
3078 (WebCore::AXObjectCache::getOrCreate):
3079 * accessibility/AccessibilityList.cpp:
3080 (WebCore::AccessibilityList::isOrderedList):
3081 * accessibility/AccessibilityRenderObject.cpp:
3082 (WebCore::createARIARoleMap):
3084 2009-11-15 Dave Tapuska <dtapuska@rim.com>
3086 Reviewed by George Staikos.
3088 Compare UChars single unit at a time as opposed to the uint32_t
3089 approach as casting to unaligned addresses may cause a bus failure
3090 on ARMv5 and below. This change replicates the same defines that
3091 exists in AtomicString.cpp
3093 https://bugs.webkit.org/show_bug.cgi?id=31475
3095 * platform/text/StringHash.h:
3096 (WebCore::StringHash::equal):
3098 2009-11-15 Evan Martin <evan@chromium.org>
3100 Reviewed by Adam Barth.
3102 Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
3104 https://bugs.webkit.org/show_bug.cgi?id=31490
3106 * bindings/v8/V8DOMWrapper.cpp:
3108 2009-11-15 Maxime Simon <simon.maxime@gmail.com>
3110 Reviewed by Adam Barth.
3112 [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
3114 * platform/haiku/FileChooserHaiku.cpp:
3116 2009-11-15 Maxime Simon <simon.maxime@gmail.com>
3118 Reviewed by Adam Barth.
3120 [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
3122 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3123 (WebCore::GraphicsContext::setPlatformStrokeColor):
3125 2009-11-15 Daniel Bates <dbates@webkit.org>
3127 No review, rolling out r50999.
3128 http://trac.webkit.org/changeset/50999
3130 Need to fix some issues in the Windows build. Missed some places where
3131 RenderTextControl::isEdited is called.
3133 * bindings/objc/DOMHTML.mm:
3134 (-[DOMHTMLInputElement _isEdited]):
3135 (-[DOMHTMLTextAreaElement _isEdited]):
3137 (WebCore::Document::setFocusedNode):
3138 * html/HTMLInputElement.cpp:
3139 (WebCore::HTMLInputElement::defaultEventHandler):
3140 * rendering/RenderTextControl.cpp:
3141 (WebCore::RenderTextControl::RenderTextControl):
3142 (WebCore::RenderTextControl::setInnerTextValue):
3143 (WebCore::RenderTextControl::setUserEdited):
3144 (WebCore::RenderTextControl::subtreeHasChanged):
3145 * rendering/RenderTextControl.h:
3146 (WebCore::RenderTextControl::isEdited):
3147 (WebCore::RenderTextControl::setEdited):
3148 (WebCore::RenderTextControl::isUserEdited):
3149 * rendering/RenderTextControlSingleLine.cpp:
3150 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
3151 * wml/WMLInputElement.cpp:
3152 (WebCore::WMLInputElement::defaultEventHandler):
3154 2009-11-15 Daniel Bates <dbates@webkit.org>
3156 Reviewed by Darin Adler.
3158 https://bugs.webkit.org/show_bug.cgi?id=31186
3160 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
3161 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
3162 These are more descriptive names so as to clear an ambiguity surrounding
3163 their usage. Also, renames associated setters and getters so that they
3164 coincide with the renamed fields.
3166 No functionality was changed. So, no tests were included.
3168 * bindings/objc/DOMHTML.mm:
3169 (-[DOMHTMLInputElement _isEdited]):
3170 (-[DOMHTMLTextAreaElement _isEdited]):
3172 (WebCore::Document::setFocusedNode):
3173 * html/HTMLInputElement.cpp:
3174 (WebCore::HTMLInputElement::defaultEventHandler):
3175 * rendering/RenderTextControl.cpp:
3176 (WebCore::RenderTextControl::RenderTextControl):
3177 (WebCore::RenderTextControl::setInnerTextValue):
3178 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
3179 (WebCore::RenderTextControl::subtreeHasChanged):
3180 * rendering/RenderTextControl.h:
3181 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
3182 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
3183 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
3184 * rendering/RenderTextControlSingleLine.cpp:
3185 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
3186 * wml/WMLInputElement.cpp:
3187 (WebCore::WMLInputElement::defaultEventHandler):
3189 2009-11-14 Adele Peterson <adele@apple.com>
3191 Reviewed by Dan Bernstein.
3193 Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
3195 Test: fast/overflow/line-clamp.html
3197 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
3198 * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
3199 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
3201 * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3202 Use the line count value if available. Otherwise, convert the percentage to the line count, as we did before. Also,
3203 if there is anchor as the last child box, still allow adding the ellipsis.
3205 * rendering/RenderLayer.cpp:
3206 (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
3207 (WebCore::RenderLayer::scrollRectToVisible): ditto.
3209 * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
3210 * rendering/style/LineClampValue.h: Added.
3211 (WebCore::LineClampValue::LineClampValue):
3212 (WebCore::LineClampValue::value):
3213 (WebCore::LineClampValue::isPercentage):
3214 (WebCore::LineClampValue::isNone):
3215 (WebCore::LineClampValue::operator==):
3216 (WebCore::LineClampValue::operator!=):
3217 * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
3219 * rendering/style/RenderStyle.h: Use LineClampValue.
3220 (WebCore::InheritedFlags::lineClamp):
3221 (WebCore::InheritedFlags::setLineClamp):
3222 (WebCore::InheritedFlags::initialLineClamp):
3223 * rendering/style/StyleRareNonInheritedData.h:
3225 2009-11-14 Eric Carlson <eric.carlson@apple.com>
3227 Reviewed by Oliver Hunt.
3229 <rdar://problem/7287487>
3230 Do not use QuickTime version to detect media controller theme
3232 * WebCore.base.exp: Export wkMediaControllerThemeAvailable
3233 * platform/mac/WebCoreSystemInterface.h: Ditto.
3234 * platform/mac/WebCoreSystemInterface.mm: Ditto.
3236 * rendering/RenderThemeMac.mm:
3237 (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
3238 QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
3240 2009-11-14 Kent Tamura <tkent@chromium.org>
3242 Reviewed by Darin Adler.
3244 - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
3245 They have no dedicated UI and no type validation for now.
3246 - Clean up setInputType() and formControlType() of HTMLInputElement.
3247 https://bugs.webkit.org/show_bug.cgi?id=29004
3249 Test: fast/forms/input-type-change3.html
3251 * html/HTMLInputElement.cpp:
3252 (WebCore::HTMLInputElement::valueMissing):
3253 (WebCore::HTMLInputElement::patternMismatch):
3254 (WebCore::HTMLInputElement::tooLong):
3255 (WebCore::createTypeMap):
3256 (WebCore::HTMLInputElement::setInputType):
3257 (WebCore::createFormControlTypes):
3258 (WebCore::HTMLInputElement::formControlType):
3259 (WebCore::HTMLInputElement::saveFormControlState):
3260 (WebCore::HTMLInputElement::restoreFormControlState):
3261 (WebCore::HTMLInputElement::accessKeyAction):
3262 (WebCore::HTMLInputElement::rendererIsNeeded):
3263 (WebCore::HTMLInputElement::createRenderer):
3264 (WebCore::HTMLInputElement::appendFormData):
3265 (WebCore::HTMLInputElement::isTextField):
3266 (WebCore::HTMLInputElement::valueWithDefault):
3267 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
3268 (WebCore::HTMLInputElement::defaultEventHandler):
3269 (WebCore::HTMLInputElement::isRequiredFormControl):
3270 (WebCore::HTMLInputElement::dataList):
3271 * html/HTMLInputElement.h:
3272 (WebCore::HTMLInputElement::):
3274 2009-11-13 Chris Fleizach <cfleizach@apple.com>
3276 Reviewed by Darin Adler.
3278 WAI-ARIA: checkbox does not determine its label from text content
3279 https://bugs.webkit.org/show_bug.cgi?id=31456
3281 Test: accessibility/aria-checkbox-text.html
3283 * accessibility/AccessibilityRenderObject.cpp:
3284 (WebCore::AccessibilityRenderObject::title):
3286 2009-11-13 Dimitri Glazkov <dglazkov@chromium.org>
3288 Unreviewed, build fix.
3290 [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
3291 This is just enough changes to unbreak the port.
3293 * bindings/v8/ScriptController.cpp:
3294 (WebCore::mainThreadNormalWorld):
3295 * bindings/v8/V8Proxy.cpp:
3296 (WebCore::V8Proxy::initContextIfNeeded):
3297 * loader/FrameLoaderClient.h:
3299 2009-11-13 Aaron Boodman <aa@chromium.org>
3301 Unreviewed fix for Chromium build.
3303 * loader/FrameLoaderClient.h:
3304 (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3305 Provide an empty implementation of this method because I don't know
3306 what it is supposed to do on Chromium.
3308 2009-11-13 Aaron Boodman <aa@chromium.org>
3310 Unreviewed fix for Chromium build.
3312 * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
3313 public, as Chromium's V8Proxy calls it.
3315 2009-11-13 Aaron Boodman <aa@chromium.org>
3317 Unreviewed fix to Chromium build.
3319 * bindings/v8/ScriptController.cpp:
3320 (WebCore::ScriptController::getAllWorlds):
3322 2009-11-13 Aaron Boodman <aa@chromium.org>
3324 Unreviewed fix for Chromium build.
3326 * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
3328 2009-11-13 Adam Barth <abarth@webkit.org>
3330 Unreviewed partial build fix for Chromium. Should fix failure #4.
3332 * bindings/v8/ScriptController.cpp:
3333 (WebCore::ScriptController::getAllWorlds):
3334 * bindings/v8/ScriptController.h:
3335 * bindings/v8/V8Proxy.cpp:
3336 (WebCore::V8Proxy::initContextIfNeeded):
3338 2009-11-13 Adam Barth <abarth@webkit.org>
3340 Unreviewed partial build fix for Chromium.
3342 * bindings/v8/ScriptController.h:
3343 (WebCore::ScriptController::getAllWorlds):
3345 2009-11-13 Eric Seidel <eric@webkit.org>
3347 No review, build fix only.
3349 Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
3351 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
3352 https://bugs.webkit.org/show_bug.cgi?id=31468
3354 * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
3355 * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
3357 2009-11-12 Jeremy Orlow <jorlow@chromium.org>
3359 Reviewed by Dmitry Titov.
3361 LocalStorage quota should include key sizes in its count
3362 https://bugs.webkit.org/show_bug.cgi?id=31451
3364 * storage/StorageMap.cpp:
3365 (WebCore::StorageMap::setItem):
3366 Count keys in the quota when adding a new item.
3367 (WebCore::StorageMap::removeItem):
3368 Remove the key's length from the quota if we're removing the item.
3369 (WebCore::StorageMap::importItem):
3370 Assume that we're adding things for the first time.
3371 Count keys in the quota.
3373 2009-11-13 Dominik Röttsches <dominik.roettsches@access-company.com>
3375 Reviewed by Eric Seidel.
3377 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
3378 https://bugs.webkit.org/show_bug.cgi?id=31468
3380 Moving TextBoundariesICU.cpp to TextBoundaries.cpp
3381 by removing the direct ICU dependency and replacing it
3382 with WTF functions and WebCore's own TextBreakIterator
3386 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
3387 * platform/text/TextBoundaries.cpp: Added.
3388 (WebCore::findNextWordFromIndex):
3389 (WebCore::findWordBoundary):
3390 * platform/text/TextBoundariesICU.cpp: Removed.
3391 * platform/text/TextBreakIterator.h:
3392 * platform/text/TextBreakIteratorICU.cpp:
3393 (WebCore::textBreakLast):
3394 (WebCore::textBreakPrevious):
3396 2009-11-13 Shinichiro Hamaji <hamaji@chromium.org>
3398 Reviewed by Darin Adler.
3400 WebCore::externalRepresentation should update layout before getting render object
3401 https://bugs.webkit.org/show_bug.cgi?id=31459
3403 * rendering/RenderTreeAsText.cpp:
3404 (WebCore::externalRepresentation):
3406 2009-11-13 Adam Roben <aroben@apple.com>
3408 Tell FrameLoaderClient when window objects in isolated worlds are
3411 Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
3412 window objects in isolated worlds are cleared
3414 Test: http/tests/security/isolatedWorld/didClearWindowObject.html
3416 Reviewed by Dave Hyatt.
3418 * bindings/js/JSDOMBinding.h:
3419 (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
3420 worlds in m_worldSet to the passed-in Vector.
3422 * bindings/js/ScriptController.cpp:
3423 (WebCore::ScriptController::getAllWorlds): Added. Calls through to
3424 WebCoreJSClientData.
3425 (WebCore::ScriptController::initScript): Changed to call
3426 FrameLoader::dispatchDidClearWindowObjectInWorld.
3428 * bindings/js/ScriptController.h: Added getAllWorlds.
3430 * loader/EmptyClients.h:
3431 (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3432 Updated for FrameLoaderClient change.
3434 * loader/FrameLoader.cpp:
3435 (WebCore::FrameLoader::receivedFirstData):
3436 (WebCore::FrameLoader::begin):
3437 Changed to call dispatchDidClearWindowObjectsInAllWorlds.
3439 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
3440 Added. Retrieves all the worlds, then calls through to
3441 dispatchDidClearWindowObjectInWorld for each one.
3442 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
3443 dispatchWindowObjectAvailable. Calls up to the client, then, if the
3444 world is the mainThreadNormalWorld(), tells the Inspector about it,
3447 * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
3448 dispatchDidClearWindowObjectInWorld. Added
3449 dispatchDidClearWindowObjectsInAllWorlds.
3451 * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
3452 dispatchDidClearWindowObjectForWorld.
3454 2009-11-13 Vitaly Repeshko <vitalyr@chromium.org>
3456 Reviewed by Dimitri Glazkov.
3458 [V8] Fix SVG context assignment for pod types.
3459 https://bugs.webkit.org/show_bug.cgi?id=31497
3461 I broke this in r50958.
3463 Tested by svg/custom/viewport-update2.svg.
3465 * bindings/scripts/CodeGeneratorV8.pm:
3467 2009-11-13 Andrei Popescu <andreip@google.com>
3469 Reviewed by Dmitry Titov.
3471 Bring the platform/android files inline with Android 2.0
3472 https://bugs.webkit.org/show_bug.cgi?id=31423
3474 No new tests required: these are all Android-specific files.
3476 * platform/android/ClipboardAndroid.cpp:
3477 (WebCore::ClipboardAndroid::files):
3478 * platform/android/ClipboardAndroid.h:
3479 * platform/android/FileChooserAndroid.cpp:
3480 (WebCore::FileChooser::basenameForWidth):
3481 (WebCore::fileButtonChooseFileLabel):
3482 * platform/android/KeyEventAndroid.cpp:
3483 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3484 * platform/android/LocalizedStringsAndroid.cpp:
3485 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3486 (WebCore::contextMenuItemTagDownloadLinkToDisk):
3487 (WebCore::contextMenuItemTagCopyLinkToClipboard):
3488 (WebCore::contextMenuItemTagOpenImageInNewWindow):
3489 (WebCore::contextMenuItemTagDownloadImageToDisk):
3490 (WebCore::contextMenuItemTagCopyImageToClipboard):
3491 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3492 (WebCore::contextMenuItemTagCopy):
3493 (WebCore::contextMenuItemTagGoBack):
3494 (WebCore::contextMenuItemTagGoForward):
3495 (WebCore::contextMenuItemTagStop):
3496 (WebCore::contextMenuItemTagReload):
3497 (WebCore::contextMenuItemTagCut):
3498 (WebCore::contextMenuItemTagPaste):
3499 (WebCore::contextMenuItemTagNoGuessesFound):
3500 (WebCore::contextMenuItemTagIgnoreSpelling):
3501 (WebCore::contextMenuItemTagLearnSpelling):
3502 (WebCore::contextMenuItemTagSearchWeb):
3503 (WebCore::contextMenuItemTagLookUpInDictionary):
3504 (WebCore::contextMenuItemTagOpenLink):
3505 (WebCore::contextMenuItemTagIgnoreGrammar):
3506 (WebCore::contextMenuItemTagSpellingMenu):
3507 (WebCore::contextMenuItemTagShowSpellingPanel):
3508 (WebCore::contextMenuItemTagCheckSpelling):
3509 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
3510 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
3511 (WebCore::contextMenuItemTagFontMenu):
3512 (WebCore::contextMenuItemTagBold):
3513 (WebCore::contextMenuItemTagItalic):
3514 (WebCore::contextMenuItemTagUnderline):
3515 (WebCore::contextMenuItemTagOutline):
3516 (WebCore::contextMenuItemTagWritingDirectionMenu):
3517 (WebCore::contextMenuItemTagTextDirectionMenu):
3518 (WebCore::contextMenuItemTagDefaultDirection):
3519 (WebCore::contextMenuItemTagLeftToRight):
3520 (WebCore::contextMenuItemTagRightToLeft):
3521 (WebCore::mediaElementLoadingStateText):
3522 (WebCore::mediaElementLiveBroadcastStateText):
3523 (WebCore::searchableIndexIntroduction):
3524 (WebCore::resetButtonDefaultLabel):
3525 (WebCore::submitButtonDefaultLabel):
3526 (WebCore::inputElementAltText):
3527 * platform/android/RenderThemeAndroid.cpp:
3528 (WebCore::RenderTheme::themeForPage):
3529 (WebCore::RenderThemeAndroid::baselinePosition):
3530 (WebCore::RenderThemeAndroid::paintButton):
3531 (WebCore::adjustMenuListStyleCommon):
3532 (WebCore::RenderThemeAndroid::paintCombo):
3533 * platform/android/ScreenAndroid.cpp:
3534 * platform/android/ScrollViewAndroid.cpp:
3535 (WebCore::ScrollView::platformOffscreenContentRectangle):
3536 * platform/android/TemporaryLinkStubs.cpp:
3537 (JSC::Bindings::dispatchJNICall):
3538 * platform/android/WidgetAndroid.cpp:
3539 (WebCore::Widget::setFrameRect):
3541 2009-11-13 Norbert Leser <norbert.leser&nokia.com>
3543 Reviewed by Eric Seidel.
3545 Added macros for USERINCLUDE paths within symbian blocks
3546 to guarantee inclusion of respective header files from local path
3547 first (to avoid clashes with same names of header files in system include path).
3551 2009-11-13 Hironori Bono <hbono@chromium.org>
3553 Reviewed by Oliver Hunt.
3555 Implement composition events introduced in DOM Level 3.
3556 This change adds a new IDL which defines the composition events, adds a class which
3557 implements the composition events, and sends the composition events according to
3559 https://bugs.webkit.org/show_bug.cgi?id=26310
3561 Test: fast/events/ime-composition-events-001.html
3563 * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
3564 * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
3565 * WebCore.gypi: ditto.
3566 * WebCore.pro: ditto
3567 * WebCore.vcproj/WebCore.vcproj: ditto.
3568 * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
3569 * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
3570 * bindings/js/JSEventCustom.cpp:
3571 (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
3572 * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
3573 * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
3574 * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
3575 (WebCore::V8DOMWrapper::convertEventToV8Object):
3576 * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
3577 * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
3578 * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
3579 (WebCore::CompositionEvent::CompositionEvent):
3580 (WebCore::CompositionEvent::~CompositionEvent):
3581 (WebCore::CompositionEvent::initCompositionEvent):
3582 (WebCore::CompositionEvent::isCompositionEvent):
3583 * dom/CompositionEvent.h: Declares the CompositionEvent class.
3584 (WebCore::CompositionEvent::create):
3585 (WebCore::CompositionEvent::data):
3586 * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
3588 (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
3590 * dom/EventNames.h: Added composition{start,update,end} to eventNames.
3591 * editing/Editor.cpp:
3592 (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
3593 (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
3595 2009-11-13 Jens Alfke <snej@chromium.org>
3597 Reviewed by Dimitri Glazkov.
3599 Fix a link error in unofficial GCC 4.4 builds on Linux.
3600 https://bugs.webkit.org/show_bug.cgi?id=31477
3602 * bindings/v8/V8Binding.cpp: Add explicit instantiations of v8StringToWebCoreString template.
3604 2009-11-13 Eric Seidel <eric@webkit.org>
3606 No review, build fix only.
3608 Fix Debug build after http://trac.webkit.org/changeset/50960.
3610 The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
3611 https://bugs.webkit.org/show_bug.cgi?id=31213
3613 * rendering/CounterNode.cpp:
3614 (WebCore::showTreeAndMark):
3615 * rendering/RenderCounter.cpp:
3616 (WebCore::destroyCounterNodeChildren):
3618 2009-11-13 Dirk Schulze <krit@webkit.org>
3620 Reviewed by Gustavo Noronha.
3622 [CAIRO] shadow support for Canvas and SVG
3623 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3625 We currently fill a path with solid color instead of filling
3626 a clipping path. This causes problems on some composite operators,
3627 since Cairo modifies the area outside the path.
3628 This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
3630 Thanks to Benjamin Otte for tracking the bug down.
3632 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3633 (WebCore::setPlatformFill):
3635 2009-11-12 Dumitru Daniliuc <dumi@chromium.org>
3637 Reviewed by Dimitri Glazkov.
3639 Adding Chromium's DatabaseTracker implementation.
3641 https://bugs.webkit.org/show_bug.cgi?id=31440
3643 * WebCore.gyp/WebCore.gyp:
3645 * storage/DatabaseTracker.h:
3646 * storage/chromium/DatabaseTrackerChromium.cpp:
3647 (WebCore::DatabaseTracker::fullPathForDatabase):
3648 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3649 * storage/chromium/QuotaTracker.cpp:
3650 (WebCore::QuotaTracker::updateDatabaseSize):
3651 * storage/chromium/QuotaTracker.h:
3653 2009-11-13 Carol Szabo <carol.szabo@nokia.com>
3655 Reviewed by Darin Adler.
3657 The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
3658 https://bugs.webkit.org/show_bug.cgi?id=31213
3659 Added tree navigation methods that permit full implementation of CSS2.1
3660 counter feature without using recursion proportional to the counter
3662 No new tests because I did not find any bug that is fixed by this
3663 commit yet, this just reduces the size of the patch for 11031 and
3664 helps respond to some concerns regarding that patch.
3666 * rendering/CounterNode.cpp:
3667 (WebCore::CounterNode::CounterNode):
3669 (WebCore::CounterNode::nextInPreOrderAfterChildren):
3670 (WebCore::CounterNode::nextInPreOrder):
3671 Added to support non-recursive tree traversal necessary for
3672 efficient full implementation of CSS2.1 counters.
3674 (WebCore::CounterNode::lastDescendant):
3675 (WebCore::CounterNode::previousInPreOrder):
3676 Moved this methods such that they occupy a place similar to that of
3677 identically named methods on the render tree. This allows for their
3678 broader use needed in full implementation of CSS2.1 counters.
3680 (WebCore::CounterNode::resetRenderer):
3681 (WebCore::CounterNode::resetRenderers):
3682 (WebCore::CounterNode::recount):
3683 (WebCore::CounterNode::insertAfter):
3684 (WebCore::CounterNode::removeChild):
3685 Changed such that insertion/removal of a counter, triggers not only
3686 recalculation of PrefixWidths, but also reassesment of values in
3687 counter nodes. This is the basis full implementation of CSS2.1
3688 counters. It does not change current behavior by much because of
3689 changes needed to the recalculation algorithm, but those are comming
3690 in the patch for 11031.
3691 (WebCore::showTreeAndMark):
3692 * rendering/CounterNode.h:
3693 * rendering/RenderCounter.cpp:
3695 Only changed argument type to prepare for implementation of Darin
3696 Adler's recommendation for the patch to 11031.
3698 (WebCore::RenderCounter::invalidate):
3699 (WebCore::destroyCounterNodeChildren):
3700 (WebCore::RenderCounter::destroyCounterNodes):
3701 * rendering/RenderCounter.h:
3702 * rendering/RenderObjectChildList.cpp:
3703 (WebCore::invalidateCountersInContainer):
3704 (WebCore::RenderObjectChildList::invalidateCounters):
3705 * rendering/RenderObjectChildList.h:
3706 Added the ability to restrict invalidation to counters with a given
3708 Also invalidated counters that are on the child container itself
3709 which were missed by the previous algorithm, but were a valid case.
3711 2009-11-13 Vitaly Repeshko <vitalyr@chromium.org>
3713 Reviewed by Dimitri Glazkov.
3715 [V8] Protect SVG animated properties from destruction in bindings.
3716 https://bugs.webkit.org/show_bug.cgi?id=31474
3718 See http://crbug.com/26719.
3720 Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
3723 Made sure we keep a reference to SVG properties while setting a
3725 * bindings/scripts/CodeGeneratorV8.pm:
3726 * bindings/v8/V8Proxy.h:
3727 (WebCore::V8Proxy::withSVGContext):
3729 2009-11-13 Brent Fulgham <bfulgham@webkit.org>
3731 Reviewed by Alexey Proskuryakov.
3733 [CAIRO] shadow support for Canvas and SVG.
3734 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3736 Incorporate Benjamin Otte's recommendations to avoid
3737 a buffer overrun, and small performance improvement.
3739 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3740 (WebCore::copyContextProperties): Correctly size output
3741 storage for cairo_get_dash to avoid buffer overrun.
3742 (WebCore::drawPathShadow): Prefer cairo_fill_extents
3743 to slower cairo_stroke_extents when not drawing shadows.
3745 2009-11-13 Dumitru Daniliuc <dumi@chromium.org>
3747 Reviewed by Dimitri Glazkov.
3749 Do not register Chromium's HTML5 DB VFS as the default
3750 VFS. Otherwise, other sqlite DB users in the same process will
3753 https://bugs.webkit.org/show_bug.cgi?id=31462
3755 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3756 (WebCore::SQLiteFileSystem::openDatabase):
3757 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3758 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3759 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3760 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3762 2009-11-13 Alexey Proskuryakov <ap@apple.com>
3766 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3767 (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
3768 avoiding a sign mismatch warning.
3770 2009-11-13 Alexey Proskuryakov <ap@apple.com>
3774 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3775 (WebCore::SocketStreamHandle::readStreamCallback):
3776 (WebCore::SocketStreamHandle::writeStreamCallback):
3777 Use ASSERT_UNUSED for unused stream parameter.
3779 2009-11-12 Alexey Proskuryakov <ap@apple.com>
3781 Reviewed by Darin Adler.
3783 https://bugs.webkit.org/show_bug.cgi?id=31441
3784 Implement SocketStreamHandleCFNet
3786 Existing WebSocket tests now pass on Mac. No proxy support yet.
3788 * platform/network/SocketStreamHandleClient.h:
3789 * platform/network/cf/SocketStreamHandle.h:
3790 (WebCore::SocketStreamHandle::shouldUseSSL):
3791 (WebCore::SocketStreamHandle::refAuthenticationClient):
3792 (WebCore::SocketStreamHandle::derefAuthenticationClient):
3793 (WebCore::SocketStreamHandle::):
3794 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3795 (WebCore::SocketStreamHandle::SocketStreamHandle):
3796 (WebCore::SocketStreamHandle::chooseProxy):
3797 (WebCore::SocketStreamHandle::createStreams):
3798 (WebCore::SocketStreamHandle::copyCFStreamDescription):
3799 (WebCore::SocketStreamHandle::readStreamCallback):
3800 (WebCore::SocketStreamHandle::writeStreamCallback):
3801 (WebCore::SocketStreamHandle::~SocketStreamHandle):
3802 (WebCore::SocketStreamHandle::platformSend):
3803 (WebCore::SocketStreamHandle::platformClose):
3804 (WebCore::SocketStreamHandle::receivedCredential):
3805 (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
3806 (WebCore::SocketStreamHandle::receivedCancellation):
3808 2009-11-12 Pavel Feldman <pfeldman@chromium.org>
3810 Reviewed by Timothy Hatcher.
3812 Web Inspector: preload status bar button glyphs
3813 in order to prevent them from flickering (take 2).
3815 https://bugs.webkit.org/show_bug.cgi?id=31439
3817 * inspector/front-end/inspector.js:
3820 2009-11-13 Pavel Feldman <pfeldman@chromium.org>
3822 Reviewed by Adam Barth.
3824 Chromium: [REGRESSION] Crash while stopping on a breakpoint.
3825 Rolling back r50890.
3827 https://bugs.webkit.org/show_bug.cgi?id=31467
3829 * bindings/v8/V8Proxy.cpp:
3830 (WebCore::V8Proxy::canAccessPrivate):
3832 2009-11-13 Dirk Schulze <krit@webkit.org>
3834 Reviewed by Gustavo Noronha.
3836 [CAIRO] shadow support for Canvas and SVG
3837 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3839 This is the fix of a regression, caused by the shadow patch
3840 from the bug above. Reinserted the save and restore calls
3841 that were accidently removed by the previous patch.
3843 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3844 (WebCore::setPlatformFill):
3845 (WebCore::setPlatformStroke):
3847 2009-11-13 Pavel Feldman <pfeldman@chromium.org>
3849 Not reviewed. Reverting r50908 since it makes inspector tests
3852 https://bugs.webkit.org/show_bug.cgi?id=31439
3854 * inspector/front-end/inspector.js:
3856 2009-11-13 Mikhail Naganov <mnaganov@chromium.org>
3858 Reviewed by Timothy Hatcher.
3860 Enable 'console.profile()' and 'console.profileEnd()'
3861 regardless of JAVASCRIPT_DEBUGGER.
3863 https://bugs.webkit.org/show_bug.cgi?id=31293
3866 * bindings/js/JSConsoleCustom.cpp:
3867 (WebCore::JSConsole::profile):
3868 (WebCore::JSConsole::profileEnd):
3869 * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
3870 (WebCore::CALLBACK_FUNC_DECL):
3871 * bindings/v8/custom/V8CustomBinding.h:
3874 2009-11-12 David Levin <levin@chromium.org>
3880 * bindings/v8/ScriptController.h:
3881 (WebCore::ScriptController::evaluateInWorld): Add a dummy
3882 method which isn't called in chromium to make things compile.
3884 2009-11-12 Anantanarayanan G Iyengar <ananta@chromium.org>
3886 Reviewed by Adam Barth.
3888 The document-open.html test was flaky at times. The test invokes the layout test plugin
3889 which in its destroy stream handler opens a new document. This basically tears down the
3890 stream and the associated plugin instance, which causes a crash when the plugin stream
3891 dereferences an invalid m_client pointer which points to the PluginView instance which
3892 is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
3893 and check for the same.
3895 https://bugs.webkit.org/show_bug.cgi?id=31067
3897 * plugins/PluginStream.cpp:
3898 (WebCore::PluginStream::stop):
3899 (WebCore::PluginStream::destroyStream):
3901 2009-11-12 Dumitru Daniliuc <dumi@chromium.org>
3903 Reviewed by Dimitri Glazkov.
3905 Renaming some parameters passed to DB-related methods to better
3906 indicate their purpose.
3908 https://bugs.webkit.org/show_bug.cgi?id=31449
3910 * platform/chromium/ChromiumBridge.h:
3912 2009-11-12 Simon Fraser <simon.fraser@apple.com>
3914 Reviewed by Dan Bernstein.
3916 Transformed reflected elements are clipped inside element with opacity
3917 https://bugs.webkit.org/show_bug.cgi?id=30957
3919 transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
3920 each clip rect into painting space before taking the unions. This, however, did not work
3921 correctly with combinations of reflections and transforms. Fixed by unioning the
3922 clipRect and mapping through transforms along the way.
3924 Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
3925 where the transparency layers are.
3927 Test: fast/reflections/opacity-reflection-transform.html
3929 * rendering/RenderLayer.cpp:
3930 (WebCore::expandClipRectForDescendantsAndReflection):
3931 (WebCore::transparencyClipBox):
3932 (WebCore::RenderLayer::beginTransparencyLayers):
3934 2009-11-12 Adam Barth <abarth@webkit.org>
3936 Reviewed by Darin Fisher.
3938 Improve SecurityOrigin::toString comment
3939 https://bugs.webkit.org/show_bug.cgi?id=31041
3941 * page/SecurityOrigin.h:
3943 2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
3945 Reviewed by Darin Adler.
3947 externalRepresentation should take Frame as the argument
3948 https://bugs.webkit.org/show_bug.cgi?id=31393
3950 No new tests as this is just a refactoring.
3953 * rendering/RenderTreeAsText.cpp:
3954 (WebCore::externalRepresentation):
3955 * rendering/RenderTreeAsText.h:
3957 2009-11-12 Ben Murdoch <benm@google.com>
3959 Reviewed by Dimitri Glazkov.
3961 [Android] The Android specific files in page/Android are out of date.
3962 https://bugs.webkit.org/show_bug.cgi?id=31437
3966 * page/android/DragControllerAndroid.cpp:
3967 (WebCore::DragController::dragOperation): Added.
3968 (WebCore::DragController::cleanupAfterSystemDrag):
3969 * page/android/EventHandlerAndroid.cpp:
3970 (WebCore::EventHandler::accessKeyModifiers): Added.
3971 * page/android/InspectorControllerAndroid.cpp: Removed.
3973 2009-11-12 Brent Fulgham <bfulgham@webkit.org>
3975 Reviewed by Simon Fraser.
3977 [CAIRO] shadow support for Canvas and SVG.
3978 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3980 Implement Canvas/SVG shadow support for Cairo. This patch
3981 uses the filter code from SVG Filters. That means that it is
3982 necessary to activate filters to see the shadows.
3984 Test: fast/canvas/canvas-shadow.html
3987 * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
3988 * platform/graphics/GraphicsContext.h:
3989 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3990 (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
3991 (WebCore::setPlatformFill):
3992 (WebCore::setPlatformStroke):
3993 (WebCore::copyContextProperties):
3994 (WebCore::drawPathShadow):
3995 (WebCore::GraphicsContext::fillPath):
3996 (WebCore::GraphicsContext::strokePath):
3997 (WebCore::GraphicsContext::drawPath):
3998 (WebCore::GraphicsContext::setPlatformShadow):
3999 (WebCore::GraphicsContext::createPlatformShadow):
4000 * platform/graphics/cairo/ImageCairo.cpp:
4001 (WebCore::BitmapImage::draw): Add filter effect.
4002 * platform/graphics/filters/Filter.h: Correct 'const' signatures.
4003 * platform/graphics/filters/ImageBufferFilter.cpp: Added.
4004 * platform/graphics/filters/ImageBufferFilter.h: Added.
4005 * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
4006 * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
4008 2009-11-12 Dmitry Titov <dimich@chromium.org>
4010 Reviewed by Alexey Proskuryakov.
4012 Add postTaskToMainThread to ScriptExecutionContext.
4013 Move the code to post task to the main thread into a new method on ScriptExecutionContext,
4014 to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
4015 contexts that live on the main thread.
4016 https://bugs.webkit.org/show_bug.cgi?id=31427
4018 No new tests - simply moving the code.
4021 (WebCore::Document::postTask):
4022 * dom/ScriptExecutionContext.cpp:
4023 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
4024 (WebCore::ScriptExecutionContextTaskTimer::fired):
4025 (WebCore::PerformTaskData::PerformTaskData):
4026 (WebCore::PerformTaskData::performTask):
4027 (WebCore::ScriptExecutionContext::postTaskToMainThread):
4028 * dom/ScriptExecutionContext.h:
4030 2009-11-12 Simon Fraser <simon.fraser@apple.com>
4032 Reviewed by Darin Adler.
4034 Fix crash when removing compositing layers when GC is enabled
4035 https://bugs.webkit.org/show_bug.cgi?id=31429
4037 Workaround <rdar://problem/7390716> by special-casing the removal
4038 of all sublayers when GC is enabled.
4040 * platform/graphics/mac/GraphicsLayerCA.mm:
4041 (WebCore::safeSetSublayers):
4042 (WebCore::GraphicsLayerCA::updateSublayerList):
4043 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
4045 2009-11-12 Jens Alfke <snej@chromium.org>
4047 Reviewed by Dimitri Glazkov.
4049 The last of the V8 binding optimizations.
4050 - Replace string-valued element accessors with a shared getter/setter function.
4051 - Change error handling flow of control to avoid extra branches and function calls.
4052 https://bugs.webkit.org/show_bug.cgi?id=31443
4054 * bindings/scripts/CodeGeneratorV8.pm:
4055 * bindings/v8/V8Binding.cpp:
4056 (WebCore::getElementStringAttr): Body of string-valued Element getter function.
4057 (WebCore::setElementStringAttr): Body of string-valued Element setter function.
4058 * bindings/v8/V8Binding.h:
4060 2009-11-12 Sam Weinig <sam@webkit.org>
4062 Reviewed by Oliver Hunt.
4064 Fix for <rdar://problem/7267951>
4065 Canvas methods should reject uses of NaN and Infinity.
4067 Test: fast/canvas/canvas-with-illegal-args.html
4069 * html/canvas/CanvasRenderingContext2D.cpp:
4070 (WebCore::CanvasRenderingContext2D::scale):
4071 (WebCore::CanvasRenderingContext2D::rotate):
4072 (WebCore::CanvasRenderingContext2D::translate):
4073 (WebCore::CanvasRenderingContext2D::transform):
4074 (WebCore::CanvasRenderingContext2D::setTransform):
4076 2009-11-12 Pavel Feldman <pfeldman@chromium.org>
4078 Reviewed by Timothy Hatcher.
4080 Web Inspector: profile timeline panel, fix obvious problems.
4082 https://bugs.webkit.org/show_bug.cgi?id=31432
4084 * inspector/front-end/AbstractTimelinePanel.js:
4085 (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
4086 * inspector/front-end/TimelinePanel.js:
4087 (WebInspector.TimelinePanel.prototype._setWindowPosition):
4088 (WebInspector.TimelineCalculator):
4089 (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
4090 (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
4091 (WebInspector.TimelineCalculator.prototype.reset):
4092 (WebInspector.TimelineCalculator.prototype.updateBoundaries):
4093 (WebInspector.TimelineCalculator.prototype.formatValue):
4094 (WebInspector.TimelineGraph):
4095 (WebInspector.TimelineGraph.prototype.refresh):
4096 * inspector/front-end/utilities.js:
4097 (Element.prototype.hasStyleClass):
4099 2009-11-12 Pavel Feldman <pfeldman@chromium.org>
4101 Reviewed by Timothy Hatcher.
4103 Web Inspector: preload status bar button glyphs
4104 in order to prevent them from flickering.
4106 https://bugs.webkit.org/show_bug.cgi?id=31439
4108 * inspector/front-end/inspector.js:
4111 2009-11-12 Adam Roben <aroben@apple.com>
4113 Replace worldIDs with world objects
4115 Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
4116 user scripts/stylesheets and isolated worlds
4118 Reviewed by Sam Weinig.
4120 Covered by existing tests.
4122 * WebCore.base.exp: Update exported symbols to match what now exists
4123 and is needed by WebKit.
4125 * bindings/js/ScheduledAction.cpp:
4126 (WebCore::ScheduledAction::execute): Updated for function rename.
4128 * bindings/js/ScriptController.cpp: Removed code that dealt with
4130 (WebCore::ScriptController::createWorld): Added. Returns a new world
4131 suitable for use on the main thread.
4132 (WebCore::ScriptController::executeScriptInWorld): Renamed from
4133 executeScriptInIsolatedWorld, since this works just fine with a
4136 * bindings/js/ScriptController.h: Added createWorld, removed functions
4137 that took worldIDs, renamed executeScriptInIsolatedWorld to
4138 executeScriptInWorld.
4141 (WebCore::Frame::injectUserScripts):
4142 (WebCore::Frame::injectUserScriptsForWorld):
4143 Updated for changes to UserScriptMap and ScriptController.
4145 * page/Frame.h: Changed injectUserScriptsForWorld to take a
4146 DOMWrapperWorld* instead of a worldID.
4148 * page/PageGroup.cpp:
4149 (WebCore::PageGroup::addUserScriptToWorld):
4150 (WebCore::PageGroup::addUserStyleSheetToWorld):
4151 (WebCore::PageGroup::removeUserScriptFromWorld):
4152 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
4153 (WebCore::PageGroup::removeUserScriptsFromWorld):
4154 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
4156 Changed these functions to take a DOMWrapperWorld* instead of a
4157 worldID. Also updated for changes to UserScript and UserStyleSheet.
4159 * page/UserScript.h:
4160 * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
4163 * page/UserScriptTypes.h:
4164 * page/UserStyleSheetTypes.h: Changed UserScriptMap and
4165 UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
4166 worldID as their key type.
4169 2009-11-12 Brian Weinstein <bweinstein@apple.com>
4171 Reviewed by Tim Hatcher.
4173 Fixes <http://webkit.org/b/31260>.
4174 Web Inspector: Main Resources Other than HTML are mis-detected.
4176 Even if the resource is a main resource, look at its CachedResource type,
4177 because it might be an image, stylesheet, or JavaScript file, and we
4178 want to show them all correctly.
4180 * inspector/InspectorResource.cpp:
4181 (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
4182 (WebCore::InspectorResource::type):
4183 * inspector/InspectorResource.h:
4185 2009-11-12 Jens Alfke <snej@chromium.org>
4187 Reviewed by Dimitri Glazkov.
4189 Table-driven setup for V8 binding template callback functions. 100k in code savings.
4190 https://bugs.webkit.org/show_bug.cgi?id=31420
4192 * bindings/scripts/CodeGeneratorV8.pm: Change generated ConfigureXXXTemplate fn
4193 to call configureTemplate().
4194 * bindings/v8/V8Binding.cpp:
4195 (WebCore::configureTemplate): New function; does all the standard configuration work.
4196 (WebCore::createCallback): De-inlined wrapper for FunctionTemplate creation.
4197 * bindings/v8/V8Binding.h:
4198 * bindings/v8/V8Proxy.cpp:
4199 (WebCore::batchConfigureAttributes): Just wrapped the very long fn parameter list.
4200 (WebCore::batchConfigureCallbacks): New function, used by configureTemplate.
4201 (WebCore::batchConfigureConstants): Just wrapped the very long fn parameter list.
4202 * bindings/v8/V8Proxy.h:
4204 2009-11-12 Dumitru Daniliuc <dumi@chromium.org>
4206 Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
4208 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
4210 2009-11-12 Eric Carlson <eric.carlson@apple.com>
4212 Reviewed by Dan Bernstein.
4214 <rdar://problem/7388969> Add DOM API for fullscreen video
4216 DOM API for fullscreen <video>.
4218 Tests: media/media-fullscreen-inline.html
4219 media/media-fullscreen-not-in-document.html
4222 Add webkitbeginfullscreen and webkitendfullscreen.
4224 * html/HTMLAttributeNames.in:
4225 Add onwebkitbeginfullscreen and onwebkitendfullscreen.
4227 * html/HTMLMediaElement.cpp:
4228 (WebCore::HTMLMediaElement::parseMappedAttribute):
4229 Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
4230 (WebCore::HTMLMediaElement::enterFullscreen):
4231 Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
4232 actually do enter fullscreen.
4233 (WebCore::HTMLMediaElement::exitFullscreen):