1 2010-06-18 Andy Estes <aestes@apple.com>
3 Rubber-stamped by Sam Weinig.
5 Update copyright header.
7 * html/HTMLLinkElement.h:
9 2010-06-17 Andy Estes <aestes@apple.com>
11 Reviewed by Dan Bernstein.
13 <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
14 in a listener to its beforeload event.
15 https://bugs.webkit.org/show_bug.cgi?id=40742
17 Postpone loading of link elements until after they have been inserted into the DOM and
18 attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
19 midst of DOM insertion, which can lead to assertion failures and crashes.
21 Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html
23 * html/HTMLLinkElement.cpp:
24 (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
25 (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
26 HTMLLinkElement::process().
27 (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
28 m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
29 (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
30 (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
31 HTMLLinkElement::processCallback() as a post-attach callback.
32 * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
33 (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
34 indicate that a full attach should be performed. This ensures the post-attach callbacks are
37 2010-06-18 Chris Fleizach <cfleizach@apple.com>
39 Unreviewed. Windows build fix.
41 AX: presentational role needs to be inherited by required elements
42 https://bugs.webkit.org/show_bug.cgi?id=40132
44 * accessibility/AccessibilityRenderObject.cpp:
45 (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
47 2010-06-18 Chris Fleizach <cfleizach@apple.com>
49 Reviewed by David Kilzer.
51 AX: presentational role needs to be inherited by required elements
52 https://bugs.webkit.org/show_bug.cgi?id=40132
54 Test: platform/mac/accessibility/inherited-presentational-lists.html
56 * accessibility/AccessibilityRenderObject.cpp:
57 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
58 (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
59 * accessibility/AccessibilityRenderObject.h:
60 (WebCore::AccessibilityRenderObject::node):
62 2010-06-18 Darin Adler <darin@apple.com>
64 Fix GTK build after reflection change.
66 * bindings/scripts/CodeGeneratorGObject.pm: Changed code
67 that emits setters to convey the correct type of the attribute.
68 The GObject code generator takes a different approach to attributes
69 than the others, so it's hacked a bit to make it more like them.
70 We should find a way to share more code between the different generators.
72 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
73 Updated to expect correct results.
75 2010-06-18 Yury Semikhatsky <yurys@chromium.org>
77 Unreviewed: Qt build fix.
79 * inspector/InspectorController.cpp:
81 2010-06-18 Justin Garcia <justin.garcia@apple.com>
83 Reviewed by Ojan Vafai.
85 https://bugs.webkit.org/show_bug.cgi?id=39798
86 No selection change notification for editing operation that doesn't change the selection's DOM position
88 Some editing operations change the selection visually without affecting its position within
89 the DOM. This was previously known to occur for certain typing commands, but it can also
90 occur for some Pastes and changes to block style.
93 (WebCore::Editor::appliedEditing):
94 (WebCore::Editor::unappliedEditing):
95 (WebCore::Editor::reappliedEditing):
96 (WebCore::Editor::changeSelectionAfterCommand):
99 2010-06-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
101 Unreviewed build fix.
103 [EFL] Build break on Debug build.
104 https://bugs.webkit.org/show_bug.cgi?id=40810
106 * CMakeLists.txt: Add CSSPreloadScanner.cpp
108 2010-06-18 Pavel Podivilov <podivilov@chromium.org>
110 Reviewed by Yury Semikhatsky.
112 Web Inspector: persist breakpoints in inspector settings.
113 https://bugs.webkit.org/show_bug.cgi?id=14190
118 * WebCore.vcproj/WebCore.vcproj:
119 * WebCore.xcodeproj/project.pbxproj:
120 * inspector/InspectorController.cpp:
121 (WebCore::InspectorController::InspectorController):
122 (WebCore::InspectorController::setSessionSettings):
123 (WebCore::InspectorController::didCommitLoad):
124 (WebCore::InspectorController::setBreakpoint):
125 (WebCore::InspectorController::removeBreakpoint):
126 (WebCore::InspectorController::didParseSource):
127 (WebCore::InspectorController::breakpointsSettingKey):
128 (WebCore::InspectorController::loadBreakpoints):
129 (WebCore::InspectorController::saveBreakpoints):
130 * inspector/InspectorController.h:
131 * inspector/InspectorValues.cpp:
132 (WebCore::InspectorValue::parseJSON):
133 * inspector/InspectorValues.h:
134 * inspector/ScriptBreakpoint.cpp: Added.
135 (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
136 (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
137 * inspector/ScriptBreakpoint.h:
138 * inspector/front-end/BreakpointManager.js:
139 (WebInspector.BreakpointManager.prototype.addBreakpoint):
140 (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
141 (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
142 (WebInspector.BreakpointManager.prototype.breakpointsForURL):
143 (WebInspector.BreakpointManager.prototype._addBreakpoint):
144 * inspector/front-end/inspector.js:
145 (WebInspector.restoredBreakpoint):
147 2010-06-18 Darin Adler <darin@apple.com>
149 Reviewed by Sam Weinig.
151 Implement additional DOM attribute reflection for bindings
152 https://bugs.webkit.org/show_bug.cgi?id=39936
154 - Added support for [Reflect] for long, unsigned long, and boolean
156 - Fixed code that set attributes like this: <video controls="controls">
157 to instead set them like this: <video controls>.
158 - Added lots more uses of [Reflect].
159 - Removed now-unneeded [ConvertFromString].
160 - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
161 of most uses of the latter.
162 - Made [Reflect] automatically lowercase the name of the reflected
163 content attribute to minimize the need to specify a custom content
166 One thing this patch does *not* do is remove the unneeded functions
167 in the various DOM classes that are no longer used by the bindings.
168 We should do that in a followup.
170 * bindings/scripts/CodeGenerator.pm: Added new functions so code
171 can be shared across bindings, GetterExpressionPrefix and
172 SetterExpressionPrefix. We can do a lot more refactoring like
175 * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
176 ConvertFromString handling, changed to use the new
177 GetterExpressionPrefix and SetterExpressionPrefix functions
178 to better handle reflected DOM attributes.
180 * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
181 ConvertFromString handling, changed to use the new
182 GetterExpressionPrefix and SetterExpressionPrefix functions
183 to better handle reflected DOM attributes. Fixed a few things
184 in the output so the .cpp file will have more WebKit style.
185 The .h file should be GTK style, but the .cpp file can be the
186 standard WebKit style eventually.
188 * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
189 GetterExpressionPrefix and SetterExpressionPrefix functions
190 and removed a now-unneeded IsSVGAnimatedType special case since
191 the new functions take care of it. Made reflected attributes
192 automatically convert null to the null string without a
193 separate ConvertNullToNullString attribute.
195 * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
196 GetterExpressionPrefix and SetterExpressionPrefix functions
197 and removed a now-unneeded IsSVGAnimatedType special case since
198 the new functions take care of it. Redid the special cases for
199 ownerDocument and for operator to fit better with the new code
200 paths. Removed unneeded ConvertFromString handling.
202 * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
203 GetterExpressionPrefix and SetterExpressionPrefix functions
204 and removed a now-unneeded IsSVGAnimatedType special case since
205 the new functions take care of it. Made reflected attributes
206 automatically convert null to the null string without a
207 separate ConvertNullToNullString attribute.
209 * bindings/scripts/test/TestObj.idl: Added some test cases for
210 content attribute reflection and for exceptions in string-typed
213 * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
214 * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
215 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
216 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
217 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
218 * bindings/scripts/test/JS/JSTestObj.h: Ditto.
219 * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
220 * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
221 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
224 (WebCore::Element::getIntegralAttribute): Added.
225 (WebCore::Element::setIntegralAttribute): Added.
226 (WebCore::Element::getUnsignedIntegralAttribute): Added.
227 (WebCore::Element::setUnsignedIntegralAttribute): Added.
228 * dom/Element.h: Added new attribute get/set functions for bindings.
230 * html/HTMLMediaElement.cpp:
231 (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
233 * html/HTMLMediaElement.h: Added isURLAttribute.
235 * html/HTMLVideoElement.cpp:
236 (WebCore::HTMLVideoElement::isURLAttribute): Changed to call
237 HTMLMediaElement::isURLAttribute before checking for posterAttr.
239 * html/HTMLAnchorElement.idl:
240 * html/HTMLAppletElement.idl:
241 * html/HTMLAreaElement.idl:
242 * html/HTMLBRElement.idl:
243 * html/HTMLBaseElement.idl:
244 * html/HTMLBaseFontElement.idl:
245 * html/HTMLBlockquoteElement.idl:
246 * html/HTMLBodyElement.idl:
247 * html/HTMLButtonElement.idl:
248 * html/HTMLDListElement.idl:
249 * html/HTMLDirectoryElement.idl:
250 * html/HTMLDivElement.idl:
251 * html/HTMLElement.idl:
252 * html/HTMLEmbedElement.idl:
253 * html/HTMLFontElement.idl:
254 * html/HTMLFormElement.idl:
255 * html/HTMLFrameElement.idl:
256 * html/HTMLFrameSetElement.idl:
257 * html/HTMLHRElement.idl:
258 * html/HTMLHeadElement.idl:
259 * html/HTMLHeadingElement.idl:
260 * html/HTMLHtmlElement.idl:
261 * html/HTMLIFrameElement.idl:
262 * html/HTMLImageElement.idl:
263 * html/HTMLInputElement.idl:
264 * html/HTMLIsIndexElement.idl:
265 * html/HTMLLIElement.idl:
266 * html/HTMLLabelElement.idl:
267 * html/HTMLLegendElement.idl:
268 * html/HTMLLinkElement.idl:
269 * html/HTMLMapElement.idl:
270 * html/HTMLMediaElement.idl:
271 * html/HTMLMenuElement.idl:
272 * html/HTMLMetaElement.idl:
273 * html/HTMLModElement.idl:
274 * html/HTMLOListElement.idl:
275 * html/HTMLObjectElement.idl:
276 * html/HTMLOptGroupElement.idl:
277 * html/HTMLOptionElement.idl:
278 * html/HTMLParagraphElement.idl:
279 * html/HTMLParamElement.idl:
280 * html/HTMLPreElement.idl:
281 * html/HTMLQuoteElement.idl:
282 * html/HTMLScriptElement.idl:
283 * html/HTMLStyleElement.idl:
284 * html/HTMLTableCaptionElement.idl:
285 * html/HTMLTableCellElement.idl:
286 * html/HTMLTableColElement.idl:
287 * html/HTMLTableElement.idl:
288 * html/HTMLTableRowElement.idl:
289 * html/HTMLTableSectionElement.idl:
290 * html/HTMLTextAreaElement.idl:
291 * html/HTMLUListElement.idl:
292 * html/HTMLVideoElement.idl:
293 * svg/SVGElement.idl:
294 Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
295 are now unneeded since [Reflect] now implies that. Changed formatting to be
296 simpler and consistent without all the lining up and multiple lines.
298 2010-06-17 Dumitru Daniliuc <dumi@chromium.org>
300 Reviewed by Dimitri Glazkov.
302 Remove some unnecessary checks that cause compiler warnings.
303 https://bugs.webkit.org/show_bug.cgi?id=40772
305 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
306 (WebCore::V8SQLResultSetRowList::itemCallback):
307 * bindings/v8/npruntime.cpp:
309 2010-06-18 Mikhail Naganov <mnaganov@chromium.org>
311 Reviewed by Yury Semikhatsky.
313 Implement 'takeHeapSnapshot' in InspectorController.
315 https://bugs.webkit.org/show_bug.cgi?id=40834
317 * bindings/js/ScriptProfiler.h:
318 (WebCore::ScriptProfiler::takeHeapSnapshot):
319 * bindings/v8/ScriptProfiler.cpp:
320 (WebCore::ScriptProfiler::takeHeapSnapshot):
321 * bindings/v8/ScriptProfiler.h:
322 * inspector/InspectorBackend.cpp:
323 (WebCore::InspectorBackend::takeHeapSnapshot):
324 * inspector/InspectorBackend.h:
325 * inspector/InspectorBackend.idl:
326 * inspector/InspectorController.cpp:
327 (WebCore::InspectorController::takeHeapSnapshot):
328 * inspector/InspectorController.h:
330 2010-06-18 Dan Bernstein <mitz@apple.com>
332 Reviewed by Anders Carlsson.
334 REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
335 https://bugs.webkit.org/show_bug.cgi?id=40831
337 Test: fast/dom/HTMLScriptElement/isURLAttribute.html
339 * html/HTMLScriptElement.cpp:
340 (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.
342 2010-06-18 Sheriff Bot <webkit.review.bot@gmail.com>
344 Unreviewed, rolling out r61405.
345 http://trac.webkit.org/changeset/61405
346 https://bugs.webkit.org/show_bug.cgi?id=40838
348 broke chromium mac compile (Requested by tonyg-cr1 on
351 * bindings/v8/ScriptSourceCode.h:
352 (WebCore::ScriptSourceCode::ScriptSourceCode):
353 * bindings/v8/V8Proxy.cpp:
354 (WebCore::V8Proxy::compileScript):
355 (WebCore::V8Proxy::evaluate):
356 * bindings/v8/V8Proxy.h:
358 2010-06-18 Zhenyao Mo <zmo@google.com>
360 Reviewed by Dimitri Glazkov.
362 Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
363 https://bugs.webkit.org/show_bug.cgi?id=40176
365 * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
366 * html/canvas/WebGLBuffer.h: Ditto.
367 * html/canvas/WebGLRenderingContext.cpp:
368 (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
369 (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
370 (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
371 (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
372 * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.
374 2010-06-18 Tony Gentilcore <tonyg@chromium.org>
376 Reviewed by David Levin.
378 Persist V8's ScriptData to the memory cache.
379 https://bugs.webkit.org/show_bug.cgi?id=38661
381 This stores V8's ScriptData in the memory cache and also causes the
382 network platform layer to be notified of the available cacheable
385 Chromium's morejs benchmark showed a ~7% improvement when this was
386 originally submitted (before it had to be rolled back).
388 Test: fast/js/parser-high-byte-character.html
390 * bindings/v8/ScriptSourceCode.h:
391 (WebCore::ScriptSourceCode::ScriptSourceCode):
392 (WebCore::ScriptSourceCode::cachedScript):
393 * bindings/v8/V8Proxy.cpp:
394 (WebCore::V8Proxy::compileScript):
395 (WebCore::V8Proxy::precompileScript):
396 (WebCore::V8Proxy::evaluate):
397 * bindings/v8/V8Proxy.h:
399 2010-06-18 Anton Muhin <antonm@chromium.org>
401 Reviewed by Dimitri Glazkov.
403 [v8] Finish migration to new named property query API
404 https://bugs.webkit.org/show_bug.cgi?id=40771
405 Remove definition which allowed gradual transition to new API.
406 See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.
410 2010-06-17 Pavel Feldman <pfeldman@chromium.org>
412 Reviewed by Yury Semikhatsky.
414 Web Inspector: bring XHR console records back.
415 - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
416 - make the chosen option persist in the settings.
418 https://bugs.webkit.org/show_bug.cgi?id=40799
420 * English.lproj/localizedStrings.js:
421 * inspector/InspectorBackend.cpp:
422 (WebCore::InspectorBackend::disableSearchingForNode):
423 (WebCore::InspectorBackend::enableMonitoringXHR):
424 (WebCore::InspectorBackend::disableMonitoringXHR):
425 * inspector/InspectorBackend.h:
426 * inspector/InspectorBackend.idl:
427 * inspector/InspectorController.cpp:
428 (WebCore::InspectorController::InspectorController):
429 (WebCore::InspectorController::setMonitoringXHR):
430 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
431 (WebCore::InspectorController::identifierForInitialRequest):
432 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
433 (WebCore::InspectorController::ensureSettingsLoaded):
434 * inspector/InspectorController.h:
435 * inspector/InspectorFrontend.cpp:
436 (WebCore::InspectorFrontend::monitoringXHRWasEnabled):
437 (WebCore::InspectorFrontend::monitoringXHRWasDisabled):
438 * inspector/InspectorFrontend.h:
439 * inspector/front-end/ConsoleView.js:
440 (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
441 (WebInspector.ConsoleView.prototype._registerShortcuts):
442 * inspector/front-end/InjectedScript.js:
443 (injectedScriptConstructor.):
444 * inspector/front-end/InspectorBackendStub.js:
445 (.WebInspector.InspectorBackendStub):
446 (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
447 (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
448 * inspector/front-end/inspector.js:
449 (WebInspector.monitoringXHRWasEnabled):
450 (WebInspector.monitoringXHRWasDisabled):
451 * xml/XMLHttpRequest.cpp:
452 (WebCore::XMLHttpRequest::didFinishLoading):
454 2010-06-18 Nikolas Zimmermann <nzimmermann@rim.com>
456 Reviewed by Dirk Schulze.
458 Modernize SVG Text code, following the HTML design
459 https://bugs.webkit.org/show_bug.cgi?id=40663
461 SVG Text does not support subpixel positioning
462 https://bugs.webkit.org/show_bug.cgi?id=12172
464 RenderSVGText can't do partial repaints
465 https://bugs.webkit.org/show_bug.cgi?id=15386
467 HTML and SVG need to share more text painting code
468 https://bugs.webkit.org/show_bug.cgi?id=15644
470 Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
471 We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
472 instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.
474 Rough overview of the changes:
475 - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
476 - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
477 -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
478 - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
479 - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
480 - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
481 - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
482 -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
483 - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
484 - Speeeeeed! Drawing is much faster now.
486 Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
487 SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
488 start origin, holding it down and moving it to the end position.
490 A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
491 Note that this requires a rebaselining of all SVG tests containing text elements.
493 Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
494 svg/text/lengthAdjust-text-metrics.html
495 svg/text/select-textLength-spacing-squeeze-1.svg
496 svg/text/select-textLength-spacing-squeeze-2.svg
497 svg/text/select-textLength-spacing-squeeze-3.svg
498 svg/text/select-textLength-spacing-squeeze-4.svg
499 svg/text/select-textLength-spacing-stretch-1.svg
500 svg/text/select-textLength-spacing-stretch-2.svg
501 svg/text/select-textLength-spacing-stretch-3.svg
502 svg/text/select-textLength-spacing-stretch-4.svg
503 svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
504 svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
505 svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
506 svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
507 svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
508 svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
509 svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
510 svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
511 svg/text/select-x-list-1.svg
512 svg/text/select-x-list-2.svg
513 svg/text/select-x-list-3.svg
514 svg/text/select-x-list-4.svg
515 svg/text/select-x-list-with-tspans-1.svg
516 svg/text/select-x-list-with-tspans-2.svg
517 svg/text/select-x-list-with-tspans-3.svg
518 svg/text/select-x-list-with-tspans-4.svg
520 * rendering/InlineBox.h: Remove not needed isInlineBox() method.
521 (WebCore::InlineBox::isInlineTextBox): Constify this method.
522 (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
523 (WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
524 (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
525 * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
526 * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
527 SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
528 (WebCore::InlineTextBox::isInlineTextBox): Constify this method.
529 * rendering/RenderBlock.h:
530 (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
531 * rendering/RenderBlockLineLayout.cpp:
532 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
533 (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
534 * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
535 (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
536 (WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
537 (WebCore::RenderSVGInline::mapLocalToContainer): Ditto
538 * rendering/RenderSVGInline.h:
539 * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
540 As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
541 (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
542 (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
543 * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
544 * rendering/RenderSVGText.cpp:
545 (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
546 (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
547 (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
548 (WebCore::RenderSVGText::absoluteQuads): Ditto.
549 (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
550 (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
551 * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
552 We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
553 (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
554 * rendering/RootInlineBox.cpp:
555 (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
556 * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
557 * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
558 * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
559 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
560 * rendering/SVGCharacterLayoutInfo.h:
561 * rendering/SVGInlineFlowBox.cpp:
562 (WebCore::SVGInlineFlowBox::paint): Ask children to paint.
563 (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
564 * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
565 * rendering/SVGInlineTextBox.cpp:
566 (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
567 (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
568 (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
569 (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
570 (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
571 (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
572 (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
573 (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
574 (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
575 (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
576 (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
577 (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
578 coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
579 (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
580 (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
581 (WebCore::thicknessForDecoration): Ditto.
582 (WebCore::findRenderObjectDefininingTextDecoration): Ditto.
583 (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
584 (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
585 (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
586 (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
587 (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
588 (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
589 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
590 (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
591 * rendering/SVGInlineTextBox.h:
592 (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
593 (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
594 (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
595 (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
596 (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
597 (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
598 * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
599 (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
600 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
601 (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
602 (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
603 (WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
604 (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
605 * rendering/SVGRootInlineBox.h:
606 (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
607 (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
608 * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
609 * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
610 (WebCore::SVGTextChunkPart::SVGTextChunkPart):
611 (WebCore::SVGTextChunkPart::isValid):
612 (WebCore::SVGTextChunk::SVGTextChunk):
613 (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
614 (WebCore::SVGTextChunkLayoutInfo::textChunks):
615 * rendering/SVGTextLayoutUtilities.cpp:
616 (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
617 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
618 (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
619 * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
620 * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
621 * rendering/SVGTextQuery.h: Ditto.
622 * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
623 This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
624 (WebCore::SVGStyledElement::isKnownAttribute):
625 * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
626 (WebCore::SVGTextContentElement::getNumberOfChars):
627 (WebCore::SVGTextContentElement::getComputedTextLength):
628 (WebCore::SVGTextContentElement::getSubStringLength):
629 (WebCore::SVGTextContentElement::getStartPositionOfChar):
630 (WebCore::SVGTextContentElement::getEndPositionOfChar):
631 (WebCore::SVGTextContentElement::getExtentOfChar):
632 (WebCore::SVGTextContentElement::getRotationOfChar):
633 (WebCore::SVGTextContentElement::getCharNumAtPosition):
634 * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
635 * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.
637 2010-06-18 Lucas De Marchi <lucas.demarchi@profusion.mobi>
639 Reviewed by David Levin.
641 Fix compilation when filters are disabled. Revision r60689
642 changed the signature of SVGRenderBase::prepareToRenderSVGContent()
643 but didn't change the unsused parameters when filters are disabled.
644 https://bugs.webkit.org/show_bug.cgi?id=40625
646 No new tests. Compilation fix.
648 * rendering/SVGRenderSupport.cpp:
649 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
651 2010-06-18 Adam Barth <abarth@webkit.org>
653 Reviewed by Darin Adler.
655 noAccess url schemes block access to inline stylesheets
656 https://bugs.webkit.org/show_bug.cgi?id=32309
658 Instead of using baseURL() to grab the security context we should just
659 use finalURL directly. When I wrote the original patch that added this
660 security check, finalURL didn't exist yet.
662 If finalURL is an empty URL, that means we generated the style sheet
663 from text that didn't have a URL. It would be slightly safer to store
664 a bit on CSSStyleSheet indicating whether it came from an inline style
665 sheet, but I think this check is fairly accurate.
667 Test: http/tests/security/data-url-inline.css.html
669 * css/CSSStyleSheet.cpp:
670 (WebCore::CSSStyleSheet::cssRules):
672 2010-06-18 Adam Barth <abarth@webkit.org>
674 Reviewed by Darin Adler.
676 Remove unneeded custom code for WebSocket.send
677 https://bugs.webkit.org/show_bug.cgi?id=38180
679 We don't appear to require a custom binding here. The old function was
682 1) It required all of its arguments.
684 2) If the toString of its argument threw, it would catch the exception
685 and re-throw a different exception.
687 I've kept the first behavior but changed the second (and documented it
690 Test: websocket/tests/send-throw.html
692 * bindings/js/JSWebSocketCustom.cpp:
693 * bindings/v8/custom/V8WebSocketCustom.cpp:
694 * websockets/WebSocket.idl:
696 2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
698 Reviewed by Adam Barth.
700 Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
701 https://bugs.webkit.org/show_bug.cgi?id=39041
704 * bindings/generic/RuntimeEnabledFeatures.cpp:
705 (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
706 (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
707 * page/DOMWindow.cpp:
708 (WebCore::DOMWindow::openDatabase):
709 * storage/AbstractDatabase.cpp:
710 (WebCore::AbstractDatabase::isAvailable):
711 (WebCore::AbstractDatabase::setIsAvailable):
712 * storage/AbstractDatabase.h:
713 * storage/Database.cpp:
714 * storage/Database.h:
715 * storage/DatabaseSync.cpp:
716 * storage/DatabaseSync.h:
717 * workers/WorkerContext.cpp:
718 (WebCore::WorkerContext::openDatabase):
719 (WebCore::WorkerContext::openDatabaseSync):
720 * workers/WorkerContext.h:
722 2010-06-18 Adam Barth <abarth@webkit.org>
724 Rubber-stamped by Eric Seidel.
726 Fix the namespace indent for HTML5Lexer. This patch changes
730 (WebCore::HTML5Lexer::):
731 (WebCore::HTML5Lexer::lineNumber):
732 (WebCore::HTML5Lexer::columnNumber):
733 (WebCore::HTML5Lexer::state):
734 (WebCore::HTML5Lexer::setState):
735 (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
736 (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
737 (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
738 (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
739 (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
741 2010-06-18 Fumitoshi Ukai <ukai@chromium.org>
743 Unreviewed test breakage fix.
745 WebSocket: resume should not process buffer if already processing.
746 https://bugs.webkit.org/show_bug.cgi?id=39340
748 MessageLoop runs in main thread, so we don't need to use timer in worker thread.
749 Also, we should not use Timer in worker thread.
751 * websockets/ThreadableWebSocketChannelClientWrapper.h:
752 (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
753 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
755 2010-06-17 Sheriff Bot <webkit.review.bot@gmail.com>
757 Unreviewed, rolling out r61379.
758 http://trac.webkit.org/changeset/61379
759 https://bugs.webkit.org/show_bug.cgi?id=40813
761 Broke multiple tests on all platforms (Requested by tkent on
764 * bindings/scripts/CodeGenerator.pm:
765 * bindings/scripts/CodeGeneratorCPP.pm:
766 * bindings/scripts/CodeGeneratorGObject.pm:
767 * bindings/scripts/CodeGeneratorJS.pm:
768 * bindings/scripts/CodeGeneratorObjC.pm:
769 * bindings/scripts/CodeGeneratorV8.pm:
770 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
771 (WebDOMTestObj::attrWithException):
772 (WebDOMTestObj::setAttrWithException):
773 (WebDOMTestObj::attrWithSetterException):
774 (WebDOMTestObj::attrWithGetterException):
775 (WebDOMTestObj::setAttrWithGetterException):
776 * bindings/scripts/test/CPP/WebDOMTestObj.h:
777 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
778 (webkit_dom_test_callback_callback_with_class1param):
779 (webkit_dom_test_callback_callback_with_class2param):
780 (webkit_dom_test_callback_callback_with_non_bool_return_type):
781 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
782 (webkit_dom_test_obj_void_method):
783 (webkit_dom_test_obj_void_method_with_args):
784 (webkit_dom_test_obj_int_method):
785 (webkit_dom_test_obj_int_method_with_args):
786 (webkit_dom_test_obj_obj_method):
787 (webkit_dom_test_obj_obj_method_with_args):
788 (webkit_dom_test_obj_method_that_requires_all_args):
789 (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
790 (webkit_dom_test_obj_serialized_value):
791 (webkit_dom_test_obj_method_with_exception):
792 (webkit_dom_test_obj_with_dynamic_frame):
793 (webkit_dom_test_obj_with_dynamic_frame_and_arg):
794 (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
795 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
796 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
797 (webkit_dom_test_obj_with_script_state_void):
798 (webkit_dom_test_obj_with_script_state_obj):
799 (webkit_dom_test_obj_with_script_state_void_exception):
800 (webkit_dom_test_obj_with_script_state_obj_exception):
801 (webkit_dom_test_obj_with_script_execution_context):
802 (webkit_dom_test_obj_method_with_optional_arg):
803 (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
804 (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
805 (webkit_dom_test_obj_get_read_only_int_attr):
806 (webkit_dom_test_obj_get_read_only_string_attr):
807 (webkit_dom_test_obj_get_read_only_test_obj_attr):
808 (webkit_dom_test_obj_get_int_attr):
809 (webkit_dom_test_obj_set_int_attr):
810 (webkit_dom_test_obj_get_long_long_attr):
811 (webkit_dom_test_obj_set_long_long_attr):
812 (webkit_dom_test_obj_get_unsigned_long_long_attr):
813 (webkit_dom_test_obj_set_unsigned_long_long_attr):
814 (webkit_dom_test_obj_get_string_attr):
815 (webkit_dom_test_obj_set_string_attr):
816 (webkit_dom_test_obj_get_test_obj_attr):
817 (webkit_dom_test_obj_set_test_obj_attr):
818 (webkit_dom_test_obj_get_attr_with_exception):
819 (webkit_dom_test_obj_set_attr_with_exception):
820 (webkit_dom_test_obj_get_attr_with_setter_exception):
821 (webkit_dom_test_obj_set_attr_with_setter_exception):
822 (webkit_dom_test_obj_get_attr_with_getter_exception):
823 (webkit_dom_test_obj_set_attr_with_getter_exception):
824 (webkit_dom_test_obj_get_script_string_attr):
825 (webkit_dom_test_obj_get_conditional_attr1):
826 (webkit_dom_test_obj_set_conditional_attr1):
827 (webkit_dom_test_obj_get_conditional_attr2):
828 (webkit_dom_test_obj_set_conditional_attr2):
829 (webkit_dom_test_obj_get_conditional_attr3):
830 (webkit_dom_test_obj_set_conditional_attr3):
831 (webkit_dom_test_obj_get_description):
832 (webkit_dom_test_obj_get_id):
833 (webkit_dom_test_obj_set_id):
834 (webkit_dom_test_obj_get_hash):
835 (webkit_dom_test_obj_set_property):
836 (webkit_dom_test_obj_get_property):
837 (webkit_dom_test_obj_class_init):
838 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
839 * bindings/scripts/test/JS/JSTestObj.cpp:
841 (WebCore::jsTestObjAttrWithException):
842 (WebCore::jsTestObjAttrWithSetterException):
843 (WebCore::jsTestObjAttrWithGetterException):
844 (WebCore::setJSTestObjAttrWithException):
845 (WebCore::setJSTestObjAttrWithGetterException):
846 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
847 * bindings/scripts/test/JS/JSTestObj.h:
848 * bindings/scripts/test/ObjC/DOMTestObj.h:
849 * bindings/scripts/test/ObjC/DOMTestObj.mm:
850 (-[DOMTestObj attrWithException]):
851 (-[DOMTestObj setAttrWithException:]):
852 (-[DOMTestObj attrWithSetterException]):
853 (-[DOMTestObj attrWithGetterException]):
854 (-[DOMTestObj setAttrWithGetterException:]):
855 * bindings/scripts/test/TestObj.idl:
856 * bindings/scripts/test/V8/V8TestObj.cpp:
857 (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
858 (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
859 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
860 (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
861 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
862 (WebCore::TestObjInternal::overloadedMethodCallback):
866 * html/HTMLAnchorElement.idl:
867 * html/HTMLAppletElement.idl:
868 * html/HTMLAreaElement.idl:
869 * html/HTMLBRElement.idl:
870 * html/HTMLBaseElement.idl:
871 * html/HTMLBaseFontElement.idl:
872 * html/HTMLBlockquoteElement.idl:
873 * html/HTMLBodyElement.idl:
874 * html/HTMLButtonElement.idl:
875 * html/HTMLDListElement.idl:
876 * html/HTMLDirectoryElement.idl:
877 * html/HTMLDivElement.idl:
878 * html/HTMLElement.idl:
879 * html/HTMLEmbedElement.idl:
880 * html/HTMLFontElement.idl:
881 * html/HTMLFormElement.idl:
882 * html/HTMLFrameElement.idl:
883 * html/HTMLFrameSetElement.idl:
884 * html/HTMLHRElement.idl:
885 * html/HTMLHeadElement.idl:
886 * html/HTMLHeadingElement.idl:
887 * html/HTMLHtmlElement.idl:
888 * html/HTMLIFrameElement.idl:
889 * html/HTMLImageElement.idl:
890 * html/HTMLInputElement.idl:
891 * html/HTMLIsIndexElement.idl:
892 * html/HTMLLIElement.idl:
893 * html/HTMLLabelElement.idl:
894 * html/HTMLLegendElement.idl:
895 * html/HTMLLinkElement.idl:
896 * html/HTMLMapElement.idl:
897 * html/HTMLMediaElement.idl:
898 * html/HTMLMenuElement.idl:
899 * html/HTMLMetaElement.idl:
900 * html/HTMLModElement.idl:
901 * html/HTMLOListElement.idl:
902 * html/HTMLObjectElement.idl:
903 * html/HTMLOptGroupElement.idl:
904 * html/HTMLOptionElement.idl:
905 * html/HTMLParagraphElement.idl:
906 * html/HTMLParamElement.idl:
907 * html/HTMLPreElement.idl:
908 * html/HTMLQuoteElement.idl:
909 * html/HTMLScriptElement.idl:
910 * html/HTMLStyleElement.idl:
911 * html/HTMLTableCaptionElement.idl:
912 * html/HTMLTableCellElement.idl:
913 * html/HTMLTableColElement.idl:
914 * html/HTMLTableElement.idl:
915 * html/HTMLTableRowElement.idl:
916 * html/HTMLTableSectionElement.idl:
917 * html/HTMLTextAreaElement.idl:
918 * html/HTMLUListElement.idl:
919 * html/HTMLVideoElement.idl:
920 * svg/SVGElement.idl:
922 2010-06-17 Rob Buis <rwlbuis@gmail.com>
924 Reviewed by Dave Hyatt.
926 CSS3 "Property is declared twice in rule" test fails
927 https://bugs.webkit.org/show_bug.cgi?id=36282
929 Filter out duplicate properties in style declaration.
931 Test: fast/css/duplicate-property-in-rule.html
933 * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
934 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
936 (WebCore::CSSParser::parseValue): Discard negative padding values
937 * css/CSSStyleSelector.cpp: Remove negative padding check
938 (WebCore::CSSStyleSelector::applyProperty):
940 2010-06-17 Darin Adler <darin@apple.com>
942 Reviewed by Sam Weinig.
944 Implement additional DOM attribute reflection for bindings
945 https://bugs.webkit.org/show_bug.cgi?id=39936
947 - Added support for [Reflect] for long, unsigned long, and boolean
949 - Fixed code that set attributes like this: <video controls="controls">
950 to instead set them like this: <video controls>.
951 - Added lots more uses of [Reflect].
952 - Removed now-unneeded [ConvertFromString].
953 - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
954 of most uses of the latter.
955 - Made [Reflect] automatically lowercase the name of the reflected
956 content attribute to minimize the need to specify a custom content
959 One thing this patch does *not* do is remove the unneeded functions
960 in the various DOM classes that are no longer used by the bindings.
961 We should do that in a followup.
963 * bindings/scripts/CodeGenerator.pm: Added new functions so code
964 can be shared across bindings, GetterExpressionPrefix and
965 SetterExpressionPrefix. We can do a lot more refactoring like
968 * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
969 ConvertFromString handling, changed to use the new
970 GetterExpressionPrefix and SetterExpressionPrefix functions
971 to better handle reflected DOM attributes.
973 * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
974 ConvertFromString handling, changed to use the new
975 GetterExpressionPrefix and SetterExpressionPrefix functions
976 to better handle reflected DOM attributes. Fixed a few things
977 in the output so the .cpp file will have more WebKit style.
978 The .h file should be GTK style, but the .cpp file can be the
979 standard WebKit style eventually.
981 * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
982 GetterExpressionPrefix and SetterExpressionPrefix functions
983 and removed a now-unneeded IsSVGAnimatedType special case since
984 the new functions take care of it. Made reflected attributes
985 automatically convert null to the null string without a
986 separate ConvertNullToNullString attribute.
988 * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
989 GetterExpressionPrefix and SetterExpressionPrefix functions
990 and removed a now-unneeded IsSVGAnimatedType special case since
991 the new functions take care of it. Redid the special cases for
992 ownerDocument and for operator to fit better with the new code
993 paths. Removed unneeded ConvertFromString handling.
995 * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
996 GetterExpressionPrefix and SetterExpressionPrefix functions
997 and removed a now-unneeded IsSVGAnimatedType special case since
998 the new functions take care of it. Made reflected attributes
999 automatically convert null to the null string without a
1000 separate ConvertNullToNullString attribute.
1002 * bindings/scripts/test/TestObj.idl: Added some test cases for
1003 content attribute reflection and for exceptions in string-typed
1006 * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
1007 * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
1008 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1009 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1010 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1011 * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1012 * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1013 * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1014 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1017 (WebCore::Element::getIntegralAttribute): Added.
1018 (WebCore::Element::setIntegralAttribute): Added.
1019 (WebCore::Element::getUnsignedIntegralAttribute): Added.
1020 (WebCore::Element::setUnsignedIntegralAttribute): Added.
1021 * dom/Element.h: Added new attribute get/set functions for bindings.
1023 * html/HTMLAnchorElement.idl:
1024 * html/HTMLAppletElement.idl:
1025 * html/HTMLAreaElement.idl:
1026 * html/HTMLBRElement.idl:
1027 * html/HTMLBaseElement.idl:
1028 * html/HTMLBaseFontElement.idl:
1029 * html/HTMLBlockquoteElement.idl:
1030 * html/HTMLBodyElement.idl:
1031 * html/HTMLButtonElement.idl:
1032 * html/HTMLDListElement.idl:
1033 * html/HTMLDirectoryElement.idl:
1034 * html/HTMLDivElement.idl:
1035 * html/HTMLElement.idl:
1036 * html/HTMLEmbedElement.idl:
1037 * html/HTMLFontElement.idl:
1038 * html/HTMLFormElement.idl:
1039 * html/HTMLFrameElement.idl:
1040 * html/HTMLFrameSetElement.idl:
1041 * html/HTMLHRElement.idl:
1042 * html/HTMLHeadElement.idl:
1043 * html/HTMLHeadingElement.idl:
1044 * html/HTMLHtmlElement.idl:
1045 * html/HTMLIFrameElement.idl:
1046 * html/HTMLImageElement.idl:
1047 * html/HTMLInputElement.idl:
1048 * html/HTMLIsIndexElement.idl:
1049 * html/HTMLLIElement.idl:
1050 * html/HTMLLabelElement.idl:
1051 * html/HTMLLegendElement.idl:
1052 * html/HTMLLinkElement.idl:
1053 * html/HTMLMapElement.idl:
1054 * html/HTMLMediaElement.idl:
1055 * html/HTMLMenuElement.idl:
1056 * html/HTMLMetaElement.idl:
1057 * html/HTMLModElement.idl:
1058 * html/HTMLOListElement.idl:
1059 * html/HTMLObjectElement.idl:
1060 * html/HTMLOptGroupElement.idl:
1061 * html/HTMLOptionElement.idl:
1062 * html/HTMLParagraphElement.idl:
1063 * html/HTMLParamElement.idl:
1064 * html/HTMLPreElement.idl:
1065 * html/HTMLQuoteElement.idl:
1066 * html/HTMLScriptElement.idl:
1067 * html/HTMLStyleElement.idl:
1068 * html/HTMLTableCaptionElement.idl:
1069 * html/HTMLTableCellElement.idl:
1070 * html/HTMLTableColElement.idl:
1071 * html/HTMLTableElement.idl:
1072 * html/HTMLTableRowElement.idl:
1073 * html/HTMLTableSectionElement.idl:
1074 * html/HTMLTextAreaElement.idl:
1075 * html/HTMLUListElement.idl:
1076 * html/HTMLVideoElement.idl:
1077 * svg/SVGElement.idl:
1078 Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
1079 are now unneeded since [Reflect] now implies that. Changed formatting to be
1080 simpler and consistent without all the lining up and multiple lines.
1082 2010-06-17 MORITA Hajime <morrita@google.com>
1084 Unreviewd, fixed a build break.
1086 * css/CSSSelector.cpp:
1087 (WebCore::CSSSelector::pseudoId):
1089 2010-06-16 MORITA Hajime <morrita@google.com>
1091 Reviewed by Kent Tamura.
1093 <meter> should allow styling for each gauge-level and component
1094 https://bugs.webkit.org/show_bug.cgi?id=40280
1096 - Introduced following new pseudo classes for <meter> element.
1098 - -webkit-meter-horizontal-bar
1099 - -webkit-meter-vertical-bar
1100 - -webkit-meter-horizontal-optimum-value
1101 - -webkit-meter-vertical-optimum-value
1102 - -webkit-meter-horizontal-suboptimal-value
1103 - -webkit-meter-vertical-suboptimal-value
1104 - -webkit-meter-horizontal-even-less-good-value
1105 - -webkit-meter-vertical-even-less-good-value
1107 - Introduced 2 shadow nodes for RenderMeter to handle CSS styling.
1108 one for bar part and another for value part.
1109 - Removed RenderTheme::paintMeter() implementation because it can be
1110 handled by styled painting without RenderTheme.
1111 - Pulled RenderIndicator up to super class from RenderProgress,
1112 then make RenderMeter a subclass of it.
1113 - Moved shadow related methods from RenderProgress to ShadowBlockElement
1114 to share it with RenderMeter.
1115 - Added rules for html.css for new pseudo classes.
1117 Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
1118 fast/dom/HTMLMeterElement/meter-styles.html
1124 * WebCore.vcproj/WebCore.vcproj:
1125 * WebCore.xcodeproj/project.pbxproj:
1126 * css/CSSSelector.cpp:
1127 (WebCore::CSSSelector::pseudoId):
1128 (WebCore::nameToPseudoTypeMap):
1129 (WebCore::CSSSelector::extractPseudoType):
1130 * css/CSSSelector.h:
1131 (WebCore::CSSSelector::):
1133 (meter::-webkit-meter-horizontal-bar):
1134 (meter::-webkit-meter-vertical-bar):
1135 (meter::-webkit-meter-horizontal-optimum-value):
1136 (meter::-webkit-meter-horizontal-suboptimal-value):
1137 (meter::-webkit-meter-horizontal-even-less-good-value):
1138 (meter::-webkit-meter-vertical-optimum-value):
1139 (meter::-webkit-meter-vertical-suboptimal-value):
1140 (meter::-webkit-meter-vertical-even-less-good-value):
1141 * rendering/RenderIndicator.cpp: Added.
1142 (WebCore::RenderIndicator::RenderIndicator):
1143 (WebCore::RenderIndicator::~RenderIndicator):
1144 (WebCore::RenderIndicator::layout):
1145 (WebCore::RenderIndicator::styleDidChange):
1146 (WebCore::RenderIndicator::updateFromElement):
1147 (WebCore::RenderIndicator::hasParts):
1148 (WebCore::RenderIndicator::requestLayoutForParts):
1149 * rendering/RenderIndicator.h: Added.
1150 (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
1151 * rendering/RenderMeter.cpp:
1152 (WebCore::RenderMeter::RenderMeter):
1153 (WebCore::RenderMeter::~RenderMeter):
1154 (WebCore::RenderMeter::layoutParts): Added.
1155 (WebCore::RenderMeter::shouldHaveParts): Added.
1156 (WebCore::RenderMeter::valueRatio): Added.
1157 (WebCore::RenderMeter::barPartRect): Added.
1158 (WebCore::RenderMeter::valuePartRect): Added.
1159 (WebCore::RenderMeter::isHorizontal): Added.
1160 (WebCore::RenderMeter::valuePseudoId): Added.
1161 (WebCore::RenderMeter::barPseudoId): Added.
1162 (WebCore::RenderMeter::updatePartsState): Added.
1163 * rendering/RenderMeter.h:
1164 * rendering/RenderProgress.cpp:
1165 (WebCore::RenderProgress::RenderProgress):
1166 (WebCore::RenderProgress::updateFromElement):
1167 (WebCore::RenderProgress::paint):
1168 (WebCore::RenderProgress::layoutParts): Added.
1169 (WebCore::RenderProgress::shouldHaveParts): Added.
1170 (WebCore::RenderProgress::updatePartsState):
1171 (WebCore::RenderProgress::valuePartRect):
1172 * rendering/RenderProgress.h:
1173 * rendering/RenderTheme.cpp:
1174 (WebCore::RenderTheme::isControlStyled):
1175 (WebCore::RenderTheme::paintMeter):
1176 * rendering/RenderTheme.h:
1177 (WebCore::RenderTheme::supportsMeter): Added.
1178 * rendering/RenderThemeMac.h:
1179 * rendering/RenderThemeMac.mm:
1180 (WebCore::RenderThemeMac::supportsMeter): Added.
1181 * rendering/ShadowElement.cpp:
1182 (WebCore::ShadowBlockElement::layoutAsPart): Added.
1183 (WebCore::ShadowBlockElement::updateStyleForPart): Added.
1184 (WebCore::ShadowBlockElement::createForPart): Added.
1185 (WebCore::ShadowBlockElement::createStyleForPart): Added.
1186 (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
1187 * rendering/ShadowElement.h:
1188 * rendering/style/RenderStyleConstants.h:
1191 2010-06-17 Fumitoshi Ukai <ukai@chromium.org>
1193 Reviewed by Alexey Proskuryakov.
1195 WebSocket: resume should not process buffer if already processing.
1196 https://bugs.webkit.org/show_bug.cgi?id=39340
1198 Test: websocket/tests/alert-in-event-handler.html
1200 While running an event handler of WebSocket object, it may be suspended
1201 and resumed in various reason. e.g. alert() will suspend/resume
1202 ActiveDOM objects. In chromium, sending IPC message would also
1203 suspend/resume ActiveDOM objects.
1204 If resume process pending buffer in this case, another event might
1205 be fired while running the initial event handler.
1206 Thus, resume should not process pending buffer immediately.
1207 Pending buffer would be processed after the current task has been
1210 * websockets/ThreadableWebSocketChannelClientWrapper.h:
1211 * websockets/WebSocketChannel.cpp:
1212 (WebCore::WebSocketChannel::WebSocketChannel):
1213 (WebCore::WebSocketChannel::resume):
1214 Just set one shot timer for resumeTimerFired() if not yet set.
1215 (WebCore::WebSocketChannel::resumeTimerFired):
1216 Process pending event after resume was called.
1217 * websockets/WebSocketChannel.h:
1219 2010-06-17 Eric Seidel <eric@webkit.org>
1221 Reviewed by Adam Barth.
1223 REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
1224 https://bugs.webkit.org/show_bug.cgi?id=40764
1226 HTML5ScriptRunner was careful to only call CachedResource::addClient
1227 for cases where the resource was not already loaded. This was to
1228 avoid getting synchronous notifyFinished callbacks from inside
1229 addClient. (The old HTMLDocumentParser also has hacks to work around
1230 addClient's synchronous notifyFinished behavior for already-loaded
1233 It turns out that CachedResource will mark itself as purgeable if it
1234 has no clients, thus it could have its data cleared (but itself not
1235 deleted) in the case where we yield back to the runloop to wait for
1236 CSS to load before executing the loaded script.
1238 The fix is to act more like the old parser and always call addClient
1239 on every CachedScript we load. But unlike the old parser, we're
1240 careful not to re-enter from addClient -> notifyFinished
1241 using guards in HTML5DocumentParser::watchForLoad.
1243 I do not know how to make a CachedResource purge itself
1244 from a LayoutTest, so this is not currently testable.
1245 If anyone knows how I'm happy to make a test.
1247 * html/HTML5DocumentParser.cpp:
1248 (WebCore::HTML5DocumentParser::watchForLoad):
1249 - It is now expected to call watchForLoad with a loaded script.
1250 (WebCore::HTML5DocumentParser::notifyFinished):
1251 - Now that watchForLoad is called with loaded scripts, notifyFinished
1252 may be be called from addClient, thus we may be in the middle of
1253 script execution when it's called. It's OK. We pass the call
1254 along to HTML5ScriptRunner::executeScriptsWaitingForLoad
1255 and it knows how to ignore the call in that case.
1256 * html/HTML5DocumentParser.h:
1257 - Document these member variables more.
1258 * html/HTML5ScriptRunner.cpp:
1259 (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
1260 (WebCore::HTML5ScriptRunner::executePendingScript):
1261 (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
1262 (WebCore::HTML5ScriptRunner::watchForLoad):
1263 - Set the pending script to RegisteringForWatch state before
1264 watching and WatchingForLoad after.
1265 (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
1266 - Set the pending script to NotWatchingForLoad.
1267 (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
1268 - Assert that callers checked hasScriptsWaitingForLoad()
1269 (WebCore::HTML5ScriptRunner::requestScript):
1270 * html/HTML5ScriptRunner.h:
1271 (WebCore::HTML5ScriptRunner::PendingScript::):
1272 (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
1273 (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
1274 * html/HTML5ScriptRunnerHost.h:
1275 - Document the new expectations of watchForLoad
1277 2010-06-17 Tony Gentilcore <tonyg@chromium.org>
1279 Reviewed by Eric Seidel.
1281 Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
1282 https://bugs.webkit.org/show_bug.cgi?id=40779
1284 No new tests. Will create a layout test in a subsequent patch.
1286 * html/HTML5PreloadScanner.cpp:
1287 (WebCore::HTML5PreloadScanner::processToken):
1288 * html/HTML5TreeBuilder.cpp:
1289 (WebCore::HTML5TreeBuilder::adjustedLexerState):
1290 (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
1291 (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
1292 * html/HTML5TreeBuilder.h:
1294 2010-06-17 Adam Barth <abarth@webkit.org>
1296 Reviewed by Eric Seidel.
1298 HTML5PreloadScanner parses <script> in DataState
1299 https://bugs.webkit.org/show_bug.cgi?id=40804
1301 The ScriptDataState is handled separately from the rest of the lexer
1302 state changes because it's more complicted in the tree builder. The
1303 easiest thing is to just handle it separately in the preloader too.
1305 * html/HTML5PreloadScanner.cpp:
1306 (WebCore::HTML5PreloadScanner::processToken):
1308 2010-06-17 Adam Barth <abarth@webkit.org>
1310 Reviewed by Eric Seidel.
1312 Add CSS scanning to HTML5PreloadScanner
1313 https://bugs.webkit.org/show_bug.cgi?id=40802
1315 This patch just cribs the CSS preload scanning algorithm from the old
1316 preload scanner. We also invented a way of testing the preload
1319 Tests: fast/preloader/image.html
1320 fast/preloader/link.html
1321 fast/preloader/script.html
1322 fast/preloader/style.html
1328 * WebCore.vcproj/WebCore.vcproj:
1329 * WebCore.xcodeproj/project.pbxproj:
1330 * html/CSSPreloadScanner.cpp: Added.
1331 (WebCore::isWhitespace):
1332 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
1333 (WebCore::CSSPreloadScanner::reset):
1334 (WebCore::CSSPreloadScanner::scan):
1335 (WebCore::CSSPreloadScanner::tokenize):
1336 (WebCore::CSSPreloadScanner::emitRule):
1337 * html/CSSPreloadScanner.h: Added.
1338 (WebCore::CSSPreloadScanner::):
1339 * html/HTML5PreloadScanner.cpp:
1340 (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
1341 (WebCore::HTML5PreloadScanner::processToken):
1342 (WebCore::HTML5PreloadScanner::scanningBody):
1343 * html/HTML5PreloadScanner.h:
1345 2010-06-17 Abhishek Arya <inferno@chromium.org>
1347 Reviewed by David Kilzer.
1349 (Landed by Dirk Pranke).
1351 Check for a null frame before setting drag selection.
1352 https://bugs.webkit.org/show_bug.cgi?id=38893
1353 Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.
1355 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
1357 Note that you need to run the test manually 20-30 times for the crash
1360 * editing/SelectionController.cpp:
1361 (WebCore::SelectionController::setSelection):
1363 2010-06-17 Benjamin Poulain <benjamin.poulain@nokia.com>
1365 Reviewed by Simon Hausmann.
1367 [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
1368 https://bugs.webkit.org/show_bug.cgi?id=40620
1370 Remove an unused variable.
1372 * platform/graphics/qt/ImageDecoderQt.cpp:
1373 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1375 2010-06-17 Jeremy Moskovich <jeremy@chromium.org>
1377 Reviewed by Darin Fisher.
1379 [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
1380 OOP loading of fonts.
1382 https://bugs.webkit.org/show_bug.cgi?id=40544
1384 * platform/chromium/ChromiumBridge.h: Add prototype for loadFont()
1386 2010-06-17 Nicolas Weber <thakis@chromium.org>
1388 Reviewed by Eric Seidel.
1390 Fix various warnings that are reported when building with clang
1391 https://bugs.webkit.org/show_bug.cgi?id=40503
1393 * accessibility/AccessibilityRenderObject.cpp:
1394 (WebCore::AccessibilityRenderObject::labelElementContainer):
1395 * accessibility/AccessibilityTableCell.cpp:
1396 (WebCore::AccessibilityTableCell::parentTable):
1397 * bindings/v8/NPV8Object.cpp:
1398 (WebCore::npObjectTypeInfo):
1399 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1401 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1403 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1405 * css/CSSStyleSheet.h:
1406 * html/HTMLFormElement.cpp:
1407 (WebCore::HTMLFormElement::getNamedElements):
1408 * inspector/InspectorValues.cpp:
1409 (WebCore::InspectorObject::getObject):
1410 (WebCore::InspectorObject::getArray):
1411 * page/animation/AnimationBase.h:
1412 * platform/graphics/BitmapImage.h:
1414 * platform/graphics/mac/FontPlatformData.h:
1415 * rendering/RenderBlock.h:
1416 * rendering/RootInlineBox.cpp:
1417 (WebCore::RootInlineBox::ellipsisBox):
1418 * storage/StorageNamespaceImpl.cpp:
1419 (WebCore::StorageNamespaceImpl::storageArea):
1421 2010-06-17 Kwang Yul Seo <skyul@company100.net>
1423 Reviewed by Pavel Feldman.
1425 Add ENABLE(INSPECTOR) guard for m_sessionSettings
1426 https://bugs.webkit.org/show_bug.cgi?id=40611
1430 * inspector/InspectorController.h:
1432 2010-06-17 Eric Seidel <eric@webkit.org>
1434 Reviewed by Adam Barth.
1436 Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
1437 https://bugs.webkit.org/show_bug.cgi?id=40609
1439 No functional change, just adding comment.
1442 (WebCore::Document::write):
1444 2010-06-13 Robert Hogan <robert@webkit.org>
1446 Reviewed by Kenneth Rohde Christiansen.
1448 WebCore EventHandler needs to take account of onLoad events
1449 fired before layout() complete
1451 https://bugs.webkit.org/show_bug.cgi?id=40102
1453 WebCore 'cheats' by firing onLoad events before the frame's layout
1454 has been performed. This can result in event listeners performing
1455 operations that depend on the document's final layout, such as
1456 scrolling operations.
1458 When scrolling a frameview in eventhandler ensure the layout is complete.
1460 * page/EventHandler.cpp:
1461 (WebCore::EventHandler::scrollRecursively):
1463 2010-06-16 Dumitru Daniliuc <dumi@chromium.org>
1465 Reviewed by Dimitri Glazkov.
1467 Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
1468 https://bugs.webkit.org/show_bug.cgi?id=40748
1470 Test: storage/sql-error-codes.html
1472 * storage/SQLError.h:
1473 (WebCore::SQLError::):
1474 * storage/SQLError.idl:
1475 * storage/SQLStatement.cpp:
1476 (WebCore::SQLStatement::execute):
1477 (WebCore::SQLStatement::setDatabaseDeletedError):
1478 (WebCore::SQLStatement::setVersionMismatchedError):
1479 (WebCore::SQLStatement::setFailureDueToQuota):
1480 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
1481 * storage/SQLTransaction.cpp:
1482 (WebCore::SQLTransaction::openTransactionAndPreflight):
1483 (WebCore::SQLTransaction::deliverTransactionCallback):
1484 (WebCore::SQLTransaction::handleCurrentStatementError):
1485 (WebCore::SQLTransaction::deliverStatementCallback):
1486 (WebCore::SQLTransaction::postflightAndCommit):
1488 2010-06-17 Kinuko Yasuda <kinuko@chromium.org>
1490 Reviewed by Jian Li.
1492 Fix CRLF ending conversion in StringBlobItem.
1493 https://bugs.webkit.org/show_bug.cgi?id=40736
1494 Also: fix referencing uninitialized member bug and slice length bug
1495 in hybrid blob case.
1497 Tests will be added when we add BlobBuilder jsc bindings.
1499 * platform/BlobItem.cpp:
1500 (WebCore::StringBlobItem::convertToCString):
1501 (WebCore::DataRangeBlobItem::DataRangeBlobItem):
1503 2010-06-17 Dimitri Glazkov <dglazkov@chromium.org>
1505 Unreviewed, rolling out r61340.
1506 http://trac.webkit.org/changeset/61340
1507 https://bugs.webkit.org/show_bug.cgi?id=36282
1509 Broke several editing tests.
1511 * css/CSSMutableStyleDeclaration.cpp:
1512 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1513 * css/CSSParser.cpp:
1514 (WebCore::CSSParser::parseValue):
1515 * css/CSSStyleSelector.cpp:
1516 (WebCore::CSSStyleSelector::applyProperty):
1518 2010-06-17 Jian Li <jianli@chromium.org>
1520 Reviewed by David Levin.
1522 Add optional contentType parameter to Blob.slice per latest File API spec.
1523 https://bugs.webkit.org/show_bug.cgi?id=40647
1525 Tested by http/tests/local/resources/send-sliced-dragged-file.html.
1528 (WebCore::Blob::slice):
1532 2010-06-17 Jesus Sanchez-Palencia <jesus@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
1534 Reviewed by Simon Hausmann.
1536 [Qt] QtWebKit does not support viewport meta tag
1537 https://bugs.webkit.org/show_bug.cgi?id=39902
1539 Add windowRect() to page client.
1541 * platform/qt/QWebPageClient.h:
1543 2010-06-17 Stephen White <senorblanco@chromium.org>
1545 Reviewed by David Levin.
1547 Fix for slow multiple animated resize issue.
1548 https://bugs.webkit.org/show_bug.cgi?id=38233
1550 The timer-based resize quality approach implemented in
1551 http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
1552 scale to multiple images with animated resizes. This fix unifies all
1553 outstanding resize timers into a single timer, and removes the "use
1554 last quality" check (which doesn't work when images are overlapping).
1555 It also refactors the copy of this code implemented in
1556 RenderBoxModelObject in http://trac.webkit.org/changeset/53949.
1558 This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
1559 http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
1560 http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
1561 http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)
1563 * rendering/RenderBoxModelObject.cpp:
1564 (WebCore::ImageQualityController::ImageQualityController):
1565 Unify all timers into a single timer, rename RenderBoxModelScaleObserver
1566 to ImageQualityController, and remove the resize quality "stickness",
1567 since it doesn't work with multiple outstanding resizes.
1568 (WebCore::ImageQualityController::objectDestroyed):
1569 gImages global is now m_lastPaintTimeMap member.
1570 (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1571 Function made non-static; repaint all pending resizes (not just one).
1572 (WebCore::ImageQualityController::restartTimer):
1573 Added function to restart timer at 1.05x threshold.
1574 (WebCore::imageQualityController):
1575 Static function to return singleton.
1576 (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1577 Use m_lastPaintTimeMap, not gImages global. Implement new timer
1578 algorithm. Remove resize "stickiness".
1579 (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
1580 Implement shouldPaintAtLowQuality, which pulls out "this" and passes
1581 the call to the ImageQualityController.
1582 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
1583 Call ImageQualityController singleton's objectDestroyed() instead of
1584 old static function.
1585 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1586 Modify shouldPaintAtLowQuality() call to match new class name and
1588 * rendering/RenderBoxModelObject.h:
1589 Expose shouldPaintAtLowQuality as a member function.
1590 * rendering/RenderImage.cpp:
1591 (WebCore::RenderImage::~RenderImage):
1592 No need to call objectDestroyed() here anymore, since the
1593 RenderBoxModelObject destructor will do this for us.
1594 (WebCore::RenderImage::paintIntoRect):
1595 Rip out RenderImageScaleObserver, and call
1596 RenderBoxModelObject::shouldPaintAtLowQuality() instead.
1598 2010-06-17 Rob Buis <rwlbuis@gmail.com>
1600 Reviewed by Dave Hyatt.
1602 CSS3 "Property is declared twice in rule" test fails
1603 https://bugs.webkit.org/show_bug.cgi?id=36282
1605 Filter out duplicate properties in style declaration.
1607 Test: fast/css/duplicate-property-in-rule.html
1609 * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
1610 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1611 * css/CSSParser.cpp:
1612 (WebCore::CSSParser::parseValue): Discard negative padding values
1613 * css/CSSStyleSelector.cpp: Remove negative padding check
1614 (WebCore::CSSStyleSelector::applyProperty):
1616 2010-06-17 Kenneth Russell <kbr@google.com>
1618 Reviewed by Dimitri Glazkov.
1620 Clean up error conditions for Typed Arrays
1621 https://bugs.webkit.org/show_bug.cgi?id=40755
1623 * bindings/js/JSArrayBufferCustom.cpp:
1624 (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
1625 - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
1626 * bindings/js/JSArrayBufferViewHelper.h:
1627 (WebCore::constructArrayBufferView):
1628 - Changed all error code paths to throw exceptions. Clarified exception types.
1629 * bindings/js/JSFloat32ArrayCustom.cpp:
1630 (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
1631 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1632 * bindings/js/JSInt16ArrayCustom.cpp:
1633 (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
1634 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1635 * bindings/js/JSInt32ArrayCustom.cpp:
1636 (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
1637 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1638 * bindings/js/JSInt8ArrayCustom.cpp:
1639 (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
1640 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1641 * bindings/js/JSUint16ArrayCustom.cpp:
1642 (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
1643 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1644 * bindings/js/JSUint32ArrayCustom.cpp:
1645 (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
1646 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1647 * bindings/js/JSUint8ArrayCustom.cpp:
1648 (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
1649 - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
1650 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1651 (WebCore::V8ArrayBuffer::constructorCallback):
1652 - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
1653 Clarified exception types.
1654 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1655 (WebCore::constructWebGLArray):
1656 - Clarified exception types and throwing of exceptions along all error code paths.
1657 * html/canvas/TypedArrayBase.h:
1658 (WebCore::TypedArrayBase::create):
1659 - Added necessary null checks during allocation.
1661 2010-06-17 Shu Chang <chang.shu@nokia.com>
1663 Reviewed by Kenneth Rohde Christiansen.
1665 [Qt] Fix the link error on symbian with ENABLE_JIT=0.
1666 1. Add "#if ENABLE(JIT)" in the header file;
1667 2. Put feature enable/disable logic to a common.pri so
1668 that both JavaScriptCore.pri and WebCore.pri can share.
1670 https://bugs.webkit.org/show_bug.cgi?id=40780
1674 2010-06-17 Kenneth Russell <kbr@google.com>
1676 Reviewed by Oliver Hunt.
1678 Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
1679 https://bugs.webkit.org/show_bug.cgi?id=40750
1681 Added V8Proxy::throwTypeError() and throwSyntaxError for parity
1682 with JSC::throwTypeError() and throwSyntaxError. Changed
1683 CodeGeneratorV8.pm to use throwTypeError for overload resolution
1684 failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
1685 instead of manual call to JSValue::encode. Deleted now-unnecessary
1686 Chromium expectations for fast/canvas/webgl/texImageTest.html.
1688 * bindings/scripts/CodeGeneratorJS.pm:
1689 * bindings/scripts/CodeGeneratorV8.pm:
1690 * bindings/v8/V8Proxy.cpp:
1691 (WebCore::V8Proxy::throwTypeError):
1692 (WebCore::V8Proxy::throwSyntaxError):
1693 * bindings/v8/V8Proxy.h:
1695 2010-06-17 Darin Fisher <darin@chromium.org>
1697 Reviewed by Brady Eidson.
1699 If Page::goToItem is passed a HistoryItem that is the current item,
1700 then the page should be loaded again.
1702 https://bugs.webkit.org/show_bug.cgi?id=40660
1704 * loader/HistoryController.cpp:
1705 (WebCore::HistoryController::recursiveGoToItem): Add a check to
1706 recursiveGoToItem that matches the one in FrameLoader::loadItem.
1708 2010-06-17 Kwang Yul Seo <skyul@company100.net>
1710 Reviewed by Kent Tamura.
1712 [BREWMP] Build fix for DragDataBrew
1713 https://bugs.webkit.org/show_bug.cgi?id=40610
1715 http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
1716 Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.
1718 * platform/brew/DragDataBrew.cpp:
1719 (WebCore::DragData::containsURL):
1720 (WebCore::DragData::asURL):
1722 2010-06-17 Zhenyao Mo <zmo@google.com>
1724 Reviewed by David Levin.
1726 Rename internalformat to internalFormat
1727 https://bugs.webkit.org/show_bug.cgi?id=40149
1729 * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
1730 (WebCore::WebGLFramebuffer::getColorBufferFormat):
1731 * html/canvas/WebGLRenderbuffer.cpp: Ditto.
1732 (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1733 * html/canvas/WebGLRenderbuffer.h: Ditto.
1734 (WebCore::WebGLRenderbuffer::setInternalFormat):
1735 (WebCore::WebGLRenderbuffer::getInternalFormat):
1736 * html/canvas/WebGLRenderingContext.cpp: Ditto.
1737 (WebCore::WebGLRenderingContext::copyTexImage2D):
1738 (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1739 (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1740 (WebCore::WebGLRenderingContext::getRenderbufferParameter):
1741 (WebCore::WebGLRenderingContext::renderbufferStorage):
1742 (WebCore::WebGLRenderingContext::texImage2DBase):
1743 (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
1744 * html/canvas/WebGLRenderingContext.h: Ditto.
1745 * html/canvas/WebGLTexture.cpp: Ditto.
1746 (WebCore::WebGLTexture::WebGLTexture):
1747 * html/canvas/WebGLTexture.h: Ditto.
1748 (WebCore::WebGLTexture::setInternalFormat):
1749 (WebCore::WebGLTexture::getInternalFormat):
1751 2010-06-17 Zhenyao Mo <zmo@google.com>
1753 Reviewed by David Levin.
1755 Remove input parameter validation for "level" upper limit in *tex* functions
1756 https://bugs.webkit.org/show_bug.cgi?id=40603
1758 * html/canvas/WebGLRenderingContext.cpp:
1759 (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.
1761 2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
1763 Reviewed by Eric Seidel.
1765 Clean EFL header files in order to diminish the compilation time with
1766 EFL from subversion. We remove the EFL includes from header files and use
1767 forward declarations, including the headers in correspondent source
1768 files when needed. This causes only the needed source files to be
1769 recompiled in case a new version of EFL is installed instead of
1770 triggering a recompilation of almost all WebCore/WebKit.
1771 https://bugs.webkit.org/show_bug.cgi?id=40575
1773 No new functionalities, so no new tests.
1775 * CMakeListsEfl.txt:
1776 * platform/PlatformKeyboardEvent.h: forward declaration.
1777 * platform/PlatformMouseEvent.h: forward declaration and change method
1778 signature to not require enum.
1779 * platform/PlatformWheelEvent.h: forward declaration.
1780 * platform/Widget.h: forward declaration.
1781 * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
1782 * platform/efl/PlatformMouseEventEfl.cpp:
1783 (WebCore::PlatformMouseEvent::setClickCount): change method signature
1785 * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
1786 * platform/efl/RenderThemeEfl.cpp: include needed header
1787 * platform/efl/RenderThemeEfl.h: forward declaration.
1788 * platform/efl/ScrollbarEfl.cpp: include needed header.
1789 * platform/efl/ScrollbarEfl.h: forward declaration.
1790 * platform/efl/WidgetEfl.cpp: include needed header.
1791 * platform/graphics/FloatRect.h: remove unused method.
1792 * platform/graphics/Icon.h: forward declaration.
1793 * platform/graphics/IntRect.h: remove unused method.
1794 * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
1795 implementing an unused method.
1796 * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
1797 implementing an unused method.
1799 2010-06-17 Alex Milowski <alex@milowski.com>
1801 Reviewed by Darin Adler.
1803 Fixed a compile error in the paint() methods by making them use the
1804 new visitedDependentColor() method.
1805 https://bugs.webkit.org/show_bug.cgi?id=40327
1807 * mathml/RenderMathMLRoot.cpp:
1808 (WebCore::RenderMathMLRoot::paint):
1809 (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child
1810 was assumed to be a RenderMathMLBlock instance when that isn't the
1811 case. Also, layout() needed to mark the index for layout before
1812 calling layout() on the index.
1813 * mathml/RenderMathMLSquareRoot.cpp:
1814 (WebCore::RenderMathMLSquareRoot::paint):
1816 2010-06-17 Darin Adler <darin@apple.com>
1818 Reviewed by Sam Weinig.
1820 Use adoptRef and create functions in more code paths
1821 https://bugs.webkit.org/show_bug.cgi?id=40760
1823 This helps prepare for an assertion that fires if you ref or destroy an
1824 object before calling adoptRef on it. That will help us catch mistakes
1825 that can lead to storage leaks.
1827 * WebCore.base.exp: Updated export now that Frame::create is not an
1830 * css/CSSInitialValue.h:
1831 (WebCore::CSSInitialValue::createExplicit): Use create.
1832 (WebCore::CSSInitialValue::createImplicit): Ditto.
1833 (WebCore::CSSInitialValue::create): Added.
1835 * css/CSSPrimitiveValue.cpp:
1836 (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
1837 (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
1838 (WebCore::CSSPrimitiveValue::createUncached): Added.
1839 (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
1840 instead of using new directly.
1841 (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
1842 of using new directly.
1843 (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
1845 * css/CSSPrimitiveValue.h: Declare the new functions above.
1847 * css/CSSStyleSelector.cpp:
1848 (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
1849 explicitly deleting it.
1851 * loader/SubresourceLoader.cpp:
1852 (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
1853 addSubresourceLoader out of here.
1854 (WebCore::SubresourceLoader::create): Move it in here. This makes it so
1855 we don't ref the loader before finishing its creation and calling adoptRef.
1858 (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
1859 Also refactor the code so an assertion is easier to read.
1860 (WebCore::Frame::create): Move the call to setMainFrame in here.
1861 This makes it so we don't ref the frame before finishing its creation
1862 and calling adoptRef.
1863 * page/Frame.h: Made the create function non-inline.
1865 * platform/text/BidiContext.cpp:
1866 (WebCore::BidiContext::createUncached): Added.
1867 (WebCore::BidiContext::create): Call createUncached instead of callling
1869 * platform/text/BidiContext.h: Declare createUncached.
1871 * rendering/RenderSVGResourceFilter.cpp:
1872 (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
1873 RefPtr instead of OwnPtr. And use the create function instead of new.
1874 * rendering/RenderSVGResourceFilter.h: Ditto.
1875 * rendering/SVGRenderTreeAsText.cpp:
1876 (WebCore::writeSVGResourceContainer): Ditto.
1878 * storage/StorageAreaImpl.cpp:
1879 (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
1880 StorageAreaSync::create out of here.
1881 (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
1882 don't ref the storage area before finishing its creation and calling adoptRef.
1885 (WebCore::SVGPaint::defaultFill): Use create instead of new.
1886 (WebCore::SVGPaint::defaultStroke): Ditto.
1888 * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
1889 and added a create function since this is a reference counted object and
1890 should not be constructed directly.
1892 2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
1894 Reviewed by Gustavo Noronha.
1896 Update CMake build system to use new script for generating source files
1897 with gperf (r61091).
1898 This updates also the build system to cope with recent changes to
1900 https://bugs.webkit.org/show_bug.cgi?id=40628
1902 No new tests since it's just compilation fixes.
1906 2010-06-17 Darin Adler <darin@apple.com>
1908 Reviewed by Sam Weinig.
1910 Fix boolean reflected attributes to use empty string consistently for the content attribute value
1911 https://bugs.webkit.org/show_bug.cgi?id=40758
1913 Test: fast/dom/boolean-attribute-reflection.html
1915 The HTML5 specification and other browsers are all consistent:
1916 When setting a boolean IDL attribute to true, the attribute value
1917 gets set to the empty string. The guidelines for authors allow either
1918 the empty string or the name of the attribute, but for implementers
1919 of the DOM, the reflected attribute gets empty string.
1922 (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
1923 attribute to the empty string.
1925 * html/HTMLFormControlElement.cpp:
1926 (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
1928 (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
1931 2010-06-17 Pavel Feldman <pfeldman@chromium.org>
1933 Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.
1935 * inspector/front-end/InspectorBackendStub.js:
1936 (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
1937 (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
1938 (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
1939 (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):
1941 2010-06-17 Mark Brand <mabrand@mabrand.nl>
1943 Reviewed by Simon Hausmann.
1945 [Qt] use "win32-g++*" scope to match all MinGW makespecs
1947 The scope "win32-g++" comes from the name of the makespec. However, it
1948 is frequently used to check for MinGW. This works fine as long as
1949 win32-g++ is the only makespec for MinGW. Now we need the wildcard
1950 to cover "win32-g++-cross" as well.
1954 2010-06-16 Pavel Feldman <pfeldman@chromium.org>
1956 Reviewed by Joe Pecoraro.
1958 Web Inspector: move get/setOuterHTML, addInspectedNode and
1959 clearConsole to native InspectorDOMAgent. This is done to allow
1960 inspected nodes array to store nodes from different domains,
1961 also moves outerhtml manipulation closer to the rest of the DOM
1962 operations. In addition to that, we are slowly getting rid of
1963 InjectedScriptAccess in favor of IDL-defined InspectorBackend
1964 interface for clearer remote debugging API.
1966 https://bugs.webkit.org/show_bug.cgi?id=40733
1968 * inspector/InjectedScriptHost.cpp:
1969 (WebCore::InjectedScriptHost::inspectedNode):
1970 * inspector/InjectedScriptHost.h:
1971 * inspector/InspectorBackend.cpp:
1972 (WebCore::InspectorBackend::changeTagName):
1973 (WebCore::InspectorBackend::getOuterHTML):
1974 (WebCore::InspectorBackend::setOuterHTML):
1975 (WebCore::InspectorBackend::addInspectedNode):
1976 (WebCore::InspectorBackend::clearConsoleMessages):
1977 * inspector/InspectorBackend.h:
1978 * inspector/InspectorBackend.idl:
1979 * inspector/InspectorDOMAgent.cpp:
1980 (WebCore::InspectorDOMAgent::inspectedNode):
1981 (WebCore::InspectorDOMAgent::changeTagName):
1982 (WebCore::InspectorDOMAgent::getOuterHTML):
1983 (WebCore::InspectorDOMAgent::setOuterHTML):
1984 (WebCore::InspectorDOMAgent::addInspectedNode):
1985 * inspector/InspectorDOMAgent.h:
1986 * inspector/InspectorFrontend.cpp:
1987 (WebCore::InspectorFrontend::didGetOuterHTML):
1988 (WebCore::InspectorFrontend::didSetOuterHTML):
1989 * inspector/InspectorFrontend.h:
1990 * inspector/front-end/ConsoleView.js:
1991 (WebInspector.ConsoleView.prototype.requestClearMessages):
1992 * inspector/front-end/DOMAgent.js:
1993 * inspector/front-end/ElementsPanel.js:
1994 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1995 (WebInspector.ElementsPanel):
1996 * inspector/front-end/ElementsTreeOutline.js:
1997 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
1998 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
2000 * inspector/front-end/InjectedScript.js:
2001 (injectedScriptConstructor):
2002 * inspector/front-end/InjectedScriptAccess.js:
2004 2010-06-17 John Gregg <johnnyg@google.com>
2006 Reviewed by David Levin.
2008 Move the call to the notification presenter that a Notification is being
2009 destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
2012 Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
2013 https://bugs.webkit.org/show_bug.cgi?id=40097
2015 No new tests; code paths are well-covered by existing tests.
2017 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2018 (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2019 (WebCore::V8NotificationCenter::createNotificationCallback):
2020 * notifications/Notification.cpp:
2021 (WebCore::Notification::~Notification):
2022 (WebCore::Notification::contextDestroyed):
2023 * notifications/Notification.h:
2025 2010-06-17 Csaba Osztrogonác <ossy@webkit.org>
2027 Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.
2029 [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
2030 https://bugs.webkit.org/show_bug.cgi?id=36702
2032 * plugins/qt/PluginViewQt.cpp:
2033 (WebCore::PluginView::updatePluginWidget):
2035 2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
2037 Reviewed by Simon Hausmann, Antti Koivisto
2039 Make repaint throttling parameters runtime configurable.
2040 https://bugs.webkit.org/show_bug.cgi?id=38401
2042 REPAINT_THROTTLING now chooses default values for throttling parameters.
2043 Should be removed when applications start using runtime configuration.
2045 * page/FrameView.cpp:
2046 (WebCore::FrameView::reset):
2047 (WebCore::FrameView::updateDeferredRepaintDelay):
2048 (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
2049 (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
2050 (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
2051 (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
2054 2010-06-17 Robert Hogan <robert@webkit.org>
2056 Reviewed by Kenneth Rohde Christiansen.
2058 [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
2060 https://bugs.webkit.org/show_bug.cgi?id=36702
2062 setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
2063 work for DRT. So call it if we are in DRT mode and the window geometry
2066 Unskips plugins/reentrant-update-widget-positions.html
2068 * plugins/qt/PluginViewQt.cpp:
2069 (WebCore::PluginView::updatePluginWidget):
2071 2010-06-17 Simon Hausmann <simon.hausmann@nokia.com>
2073 Reviewed by Kenneth Christiansen.
2075 [Qt] Avoid unnecessary calls to save() and restore() when drawing images
2077 Avoid calling the expensive save() and restore() on the GraphicsContext just
2078 for changing the composition mode. Instead save and restore it manually
2081 Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
2082 call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
2085 * platform/graphics/GraphicsContext.h:
2086 * platform/graphics/qt/GraphicsContextQt.cpp:
2087 (WebCore::GraphicsContext::toQtCompositionMode):
2088 * platform/graphics/qt/ImageQt.cpp:
2089 (WebCore::BitmapImage::draw):
2091 2010-06-16 Dawit Alemayehu <adawit@kde.org>
2093 Reviewed by Simon Hausmann.
2095 [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
2096 https://bugs.webkit.org/show_bug.cgi?id=40567
2098 Avoid preventable crashes by ensuring gtk_init() is called in the
2099 flash viewer plugins before calling NP_Initialize.
2101 * plugins/qt/PluginPackageQt.cpp:
2102 (WebCore::PluginPackage::load):
2104 2010-06-16 Tony Gentilcore <tonyg@chromium.org>
2106 Reviewed by David Levin.
2108 Guarantee that references are held for CachedScripts in HTMLDocumentParser.
2109 https://bugs.webkit.org/show_bug.cgi?id=40177
2111 No new tests because no new functionality.
2113 * html/HTMLDocumentParser.cpp:
2114 (WebCore::HTMLDocumentParser::reset):
2115 (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
2117 2010-06-16 Qi Zhang <qi.2.zhang@nokia.com>
2119 Reviewed by Laszlo Gombos.
2121 [Qt] Repeat pattern should start from origin
2122 https://bugs.webkit.org/show_bug.cgi?id=39225
2124 Patterns must be painted so that the top left of the first image
2125 is anchored at the origin of the coordinate space.
2127 * platform/graphics/qt/GraphicsContextQt.cpp:
2128 (WebCore::drawRepeatPattern):
2129 (WebCore::GraphicsContext::fillRect):
2131 2010-06-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
2133 Reviewed by Simon Hausmann.
2135 [Qt] WebGL viewport does not show up on N900
2136 https://bugs.webkit.org/show_bug.cgi?id=38528
2138 With OGLES2 add default precision to the shader code.
2139 Use GLsizeiptr and GLintptr with OGLES2.
2140 Call paint() in beginPaint() so that drawTexture() is used
2143 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2144 (WebCore::GraphicsContext3D::beginPaint):
2145 (WebCore::GraphicsContext3D::paint):
2146 (WebCore::GraphicsContext3D::shaderSource):
2148 2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
2150 Reviewed by Simon Fraser.
2152 Spatial Navigation: refactor scrollInDirection to work with scrollable content
2153 https://bugs.webkit.org/show_bug.cgi?id=39195
2155 scrollInDirection now receives as parameter the node that the Spatial Navigation
2156 found as the more appropriated to move focus to. If it is in a scrollable container
2157 (e.g. <div> with clipped overflow content), it scrolls recursively starting from
2158 the container, not the current focused node.
2160 Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
2162 * page/FocusController.cpp:
2163 (WebCore::FocusController::advanceFocusDirectionally):
2164 * page/SpatialNavigation.cpp:
2165 (WebCore::scrollInDirection):
2166 * page/SpatialNavigation.h:
2168 2010-06-16 Brady Eidson <beidson@apple.com>
2170 Reviewed by Eric Carlson
2172 <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
2173 ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()
2175 No new tests. (Discovered via crash reports, no reproducible cases noted)
2177 * loader/ResourceLoader.cpp:
2178 (WebCore::ResourceLoader::willCacheResponse): Null check m_frame->settings(),
2179 but also add an ASSERT so debug-build developers can learn more about why
2180 this might be happening.
2182 2010-06-16 Darin Adler <darin@apple.com>
2184 Try to fix the MathML build.
2186 * mathml/MathMLMathElement.h: Added missing return type.
2188 2010-06-16 Darin Adler <darin@apple.com>
2190 Reviewed by David Levin.
2192 Deploy adoptRef in more places, including all HTML and MathML elements
2193 https://bugs.webkit.org/show_bug.cgi?id=39941
2196 (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
2197 in commented-out code.
2198 (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
2200 * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
2201 CreateHTMLElementZeroRefCount.
2203 * editing/InsertListCommand.cpp:
2204 (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
2207 * editing/ModifySelectionListLevel.cpp:
2208 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
2209 Removed "WithType" from function name. Use create instead of new, fixing a
2211 (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
2212 create instead of new, fixing a storage leak.
2214 * storage/IndexedDatabaseImpl.cpp:
2215 (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.
2217 * editing/ModifySelectionListLevel.h: Added create functions.
2219 * html/HTMLAnchorElement.cpp:
2220 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2221 * html/HTMLFrameOwnerElement.cpp:
2222 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
2223 * html/HTMLMeterElement.cpp:
2224 (WebCore::HTMLMeterElement::HTMLMeterElement):
2225 * html/HTMLProgressElement.cpp:
2226 (WebCore::HTMLProgressElement::HTMLProgressElement):
2227 Removed code to explicitly pass CreateHTMLElement construction type since that's
2228 now the type used for all HTML elements.
2230 * html/HTMLFormControlElement.cpp:
2231 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2232 * html/HTMLFormControlElement.h:
2233 Removed construction type argument, since CreateHTMLElement is now the type used
2234 for all HTML elements.
2236 * mathml/MathMLElement.cpp:
2237 (WebCore::MathMLElement::MathMLElement): Removed construction type of
2238 CreateStyledElementZeroRefCount so we'll use the default construction
2239 type, CreateStyledElement.
2240 (WebCore::MathMLElement::create): Use adoptRef.
2242 * mathml/MathMLElement.h: Made isMathMLElement function private and
2243 removed unneeded override of createRenderer, because it did the
2244 same thing as the base class's createRenderer function.
2246 * mathml/MathMLInlineContainerElement.cpp:
2247 (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
2248 (WebCore::MathMLInlineContainerElement::createRenderer):
2249 Removed unnecessarily initialization of local variable and removed the
2250 case for mathTag, since that uses a different derived class.
2252 * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
2255 * mathml/MathMLMathElement.cpp:
2256 (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
2257 it is called in only one place.
2258 (WebCore::MathMLMathElement::create): Use adoptRef.
2259 (WebCore::MathMLMathElement::createRenderer): Added. Creates a
2260 RenderMathMLMath object.
2262 * mathml/MathMLMathElement.h: Made constructor private and added a
2263 private override of createRenderer.
2265 * mathml/MathMLTextElement.cpp:
2266 (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
2267 it is called in only one place.
2268 (WebCore::MathMLTextElement::create): Use adoptRef.
2269 (WebCore::MathMLTextElement::createRenderer): Changed to call through
2270 to the base class instead of calling RenderObject::createObject directly.
2272 * mathml/MathMLTextElement.h: Made the constructor and createRenderer
2275 * rendering/RenderFileUploadControl.cpp:
2276 (WebCore::RenderFileUploadControl::RenderFileUploadControl):
2277 Removed an unneeded initializer.
2279 * rendering/RenderProgress.cpp: Tweaked includes.
2281 * rendering/ShadowElement.cpp: Added a "using namespace" directive.
2282 * rendering/ShadowElement.h: Tweaked formatting. Made more functions
2285 * editing/DeleteButton.cpp:
2286 (WebCore::DeleteButton::create):
2287 * html/HTMLAudioElement.cpp:
2288 (WebCore::HTMLAudioElement::create):
2289 (WebCore::HTMLAudioElement::createForJSConstructor):
2290 * html/HTMLBRElement.cpp:
2291 (WebCore::HTMLBRElement::create):
2292 * html/HTMLBaseElement.cpp:
2293 (WebCore::HTMLBaseElement::create):
2294 * html/HTMLBaseFontElement.cpp:
2295 (WebCore::HTMLBaseFontElement::create):
2296 * html/HTMLBlockquoteElement.cpp:
2297 (WebCore::HTMLBlockquoteElement::create):
2298 * html/HTMLBodyElement.cpp:
2299 (WebCore::HTMLBodyElement::create):
2300 * html/HTMLButtonElement.cpp:
2301 (WebCore::HTMLButtonElement::create):
2302 * html/HTMLCanvasElement.cpp:
2303 (WebCore::HTMLCanvasElement::create):
2304 * html/HTMLDListElement.cpp:
2305 (WebCore::HTMLDListElement::create):
2306 * html/HTMLDataGridCellElement.cpp:
2307 (WebCore::HTMLDataGridCellElement::create):
2308 * html/HTMLDataGridColElement.cpp:
2309 (WebCore::HTMLDataGridColElement::create):
2310 * html/HTMLDataGridElement.cpp:
2311 (WebCore::HTMLDataGridElement::create):
2312 * html/HTMLDataGridRowElement.cpp:
2313 (WebCore::HTMLDataGridRowElement::create):
2314 * html/HTMLDataListElement.cpp:
2315 (WebCore::HTMLDataListElement::create):
2316 * html/HTMLDivElement.cpp:
2317 (WebCore::HTMLDivElement::create):
2318 * html/HTMLElement.cpp:
2319 (WebCore::HTMLElement::create):
2320 * html/HTMLElement.h:
2321 (WebCore::HTMLElement::HTMLElement):
2322 * html/HTMLFieldSetElement.cpp:
2323 (WebCore::HTMLFieldSetElement::create):
2324 * html/HTMLFontElement.cpp:
2325 (WebCore::HTMLFontElement::create):
2326 * html/HTMLFormElement.cpp:
2327 (WebCore::HTMLFormElement::create):
2328 * html/HTMLFrameSetElement.cpp:
2329 (WebCore::HTMLFrameSetElement::create):
2330 * html/HTMLHRElement.cpp:
2331 (WebCore::HTMLHRElement::create):
2332 * html/HTMLHeadElement.cpp:
2333 (WebCore::HTMLHeadElement::create):
2334 * html/HTMLHeadingElement.cpp:
2335 (WebCore::HTMLHeadingElement::create):
2336 * html/HTMLHtmlElement.cpp:
2337 (WebCore::HTMLHtmlElement::create):
2338 * html/HTMLImageElement.cpp:
2339 (WebCore::HTMLImageElement::create):
2340 (WebCore::HTMLImageElement::createForJSConstructor):
2341 * html/HTMLInputElement.cpp:
2342 (WebCore::HTMLInputElement::create):
2343 * html/HTMLIsIndexElement.cpp:
2344 (WebCore::HTMLIsIndexElement::create):
2345 * html/HTMLKeygenElement.cpp:
2346 (WebCore::HTMLKeygenElement::create):
2347 * html/HTMLLIElement.cpp:
2348 (WebCore::HTMLLIElement::create):
2349 * html/HTMLLabelElement.cpp:
2350 (WebCore::HTMLLabelElement::create):
2351 * html/HTMLLegendElement.cpp:
2352 (WebCore::HTMLLegendElement::create):
2353 * html/HTMLLinkElement.cpp:
2354 (WebCore::HTMLLinkElement::create):
2355 * html/HTMLMapElement.cpp:
2356 (WebCore::HTMLMapElement::create):
2357 * html/HTMLMarqueeElement.cpp:
2358 (WebCore::HTMLMarqueeElement::create):
2359 * html/HTMLMenuElement.cpp:
2360 (WebCore::HTMLMenuElement::create):
2361 * html/HTMLMetaElement.cpp:
2362 (WebCore::HTMLMetaElement::create):
2363 * html/HTMLModElement.cpp:
2364 (WebCore::HTMLModElement::create):
2365 * html/HTMLNoScriptElement.cpp:
2366 (WebCore::HTMLNoScriptElement::create):
2367 * html/HTMLOListElement.cpp:
2368 (WebCore::HTMLOListElement::create):
2369 * html/HTMLOptGroupElement.cpp:
2370 (WebCore::HTMLOptGroupElement::create):
2371 * html/HTMLOptionElement.cpp:
2372 (WebCore::HTMLOptionElement::create):
2373 (WebCore::HTMLOptionElement::createForJSConstructor):
2374 * html/HTMLParagraphElement.cpp:
2375 (WebCore::HTMLParagraphElement::create):
2376 * html/HTMLParamElement.cpp:
2377 (WebCore::HTMLParamElement::create):
2378 * html/HTMLPreElement.cpp:
2379 (WebCore::HTMLPreElement::create):
2380 * html/HTMLQuoteElement.cpp:
2381 (WebCore::HTMLQuoteElement::create):
2382 * html/HTMLScriptElement.cpp:
2383 (WebCore::HTMLScriptElement::create):
2384 * html/HTMLSelectElement.cpp:
2385 (WebCore::HTMLSelectElement::create):
2386 * html/HTMLSourceElement.cpp:
2387 (WebCore::HTMLSourceElement::create):
2388 * html/HTMLStyleElement.cpp:
2389 (WebCore::HTMLStyleElement::create):
2390 * html/HTMLTableCaptionElement.cpp:
2391 (WebCore::HTMLTableCaptionElement::create):
2392 * html/HTMLTableCellElement.cpp:
2393 (WebCore::HTMLTableCellElement::create):
2394 * html/HTMLTableColElement.cpp:
2395 (WebCore::HTMLTableColElement::create):
2396 * html/HTMLTableElement.cpp:
2397 (WebCore::HTMLTableElement::create):
2398 * html/HTMLTableRowElement.cpp:
2399 (WebCore::HTMLTableRowElement::create):
2400 * html/HTMLTableSectionElement.cpp:
2401 (WebCore::HTMLTableSectionElement::create):
2402 * html/HTMLTextAreaElement.cpp:
2403 (WebCore::HTMLTextAreaElement::create):
2404 * html/HTMLTitleElement.cpp:
2405 (WebCore::HTMLTitleElement::create):
2406 * html/HTMLUListElement.cpp:
2407 (WebCore::HTMLUListElement::create):
2408 * html/HTMLVideoElement.cpp:
2409 (WebCore::HTMLVideoElement::create):
2410 * loader/ImageDocument.cpp:
2411 (WebCore::ImageDocumentElement::create):
2412 * rendering/MediaControlElements.cpp:
2413 (WebCore::MediaControlShadowRootElement::create):
2414 (WebCore::MediaControlElement::create):
2415 (WebCore::MediaControlTimelineContainerElement::create):
2416 (WebCore::MediaControlVolumeSliderContainerElement::create):
2417 (WebCore::MediaControlStatusDisplayElement::create):
2418 (WebCore::MediaControlMuteButtonElement::create):
2419 (WebCore::MediaControlPlayButtonElement::create):
2420 (WebCore::MediaControlSeekButtonElement::create):
2421 (WebCore::MediaControlRewindButtonElement::create):
2422 (WebCore::MediaControlReturnToRealtimeButtonElement::create):
2423 (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2424 (WebCore::MediaControlTimelineElement::create):
2425 (WebCore::MediaControlVolumeSliderElement::create):
2426 (WebCore::MediaControlFullscreenButtonElement::create):
2427 (WebCore::MediaControlTimeDisplayElement::create):
2428 * rendering/RenderSlider.cpp:
2429 (WebCore::SliderThumbElement::create):
2430 * rendering/TextControlInnerElements.cpp:
2431 (WebCore::TextControlInnerElement::create):
2432 (WebCore::TextControlInnerTextElement::create):
2433 (WebCore::SearchFieldResultsButtonElement::create):
2434 (WebCore::SearchFieldCancelButtonElement::create):
2435 (WebCore::SpinButtonElement::create):
2438 2010-06-16 Adam Barth <abarth@webkit.org>
2440 Reviewed by Eric Seidel.
2442 HTML5 parser crash when setTimeout document.write after slow script
2443 https://bugs.webkit.org/show_bug.cgi?id=40726
2445 According to the HTML5 spec, we're supposed to open() a new document if
2446 we receive a document.write() after we've received EOF for the network.
2447 The old parser just dumped those bytes onto the end of the network
2448 stream. After this patch, our behavior matches Minefield.
2450 Test: http/tests/misc/write-while-waiting.html
2452 * WebCore.xcodeproj/project.pbxproj:
2454 (WebCore::Document::write):
2455 * dom/DocumentParser.h:
2456 * dom/XMLDocumentParser.cpp:
2457 (WebCore::XMLDocumentParser::finishWasCalled):
2458 * dom/XMLDocumentParser.h:
2459 * html/HTML5DocumentParser.cpp:
2460 (WebCore::HTML5DocumentParser::finishWasCalled):
2461 * html/HTML5DocumentParser.h:
2462 (WebCore::HTML5DocumentParser::InputStream::isClosed):
2463 * html/HTMLDocumentParser.cpp:
2464 (WebCore::HTMLDocumentParser::finishWasCalled):
2465 * html/HTMLDocumentParser.h:
2466 * loader/ImageDocument.cpp:
2467 (WebCore::ImageTokenizer::finishWasCalled):
2468 * loader/MediaDocument.cpp:
2469 (WebCore::MediaDocumentParser::finishWasCalled):
2470 * loader/PluginDocument.cpp:
2471 (WebCore::PluginDocumentParser::finishWasCalled):
2472 * loader/SinkDocument.cpp:
2473 (WebCore::SinkDocumentParser::finishWasCalled):
2474 * loader/TextDocument.cpp:
2475 (WebCore::TextDocumentParser::finishWasCalled):
2477 2010-06-16 Martin Robinson <mrobinson@igalia.com>
2479 Reviewed by Gustavo Noronha Silva.
2481 [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
2482 https://bugs.webkit.org/show_bug.cgi?id=40640
2484 Instead of writing URL labels to the text portion of the clipboard or
2485 drag-and-drop data, write the URL itself. Also escape the label text
2486 of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
2487 PasteboardGtk can share it.
2489 Tests for this issue will be activated when dropping support has been
2490 added to the GTK+ EventSender.
2492 * platform/gtk/ClipboardGtk.cpp:
2493 (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
2494 * platform/gtk/DataObjectGtk.cpp:
2495 (WebCore::DataObjectGtk::setURL):
2496 Added. Write URL to the text portion and remember to escape the
2497 label when creating the markup portion.
2498 * platform/gtk/DataObjectGtk.h: Add declaration of new method.
2499 * platform/gtk/PasteboardGtk.cpp:
2500 (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.
2502 2010-06-16 Adam Barth <abarth@webkit.org>
2504 Reviewed by Eric Seidel.
2506 Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
2507 https://bugs.webkit.org/show_bug.cgi?id=40729
2509 This was a copy/paste error. Yay for ASSERTs.
2511 * html/HTML5Lexer.cpp:
2512 (WebCore::HTML5Lexer::nextToken):
2514 2010-06-16 Stuart Morgan <stuartmorgan@chromium.org>
2516 Reviewed by Anders Carlsson.
2518 Bring npapi.h more in line with upstream npapi-headers version:
2519 - Remove obsolete XP_MAC sections.
2520 - Remove Metrowerks defines.
2522 - Add Maemo defines.
2523 - Add new version of the custom Carbon event definitions.
2524 - Sync platform define style/details
2526 https://bugs.webkit.org/show_bug.cgi?id=38666
2530 2010-06-16 Simon Fraser <simon.fraser@apple.com>
2532 Reviewed by Sam Weinig.
2534 Allow transitions and animations of clip: rect
2535 https://bugs.webkit.org/show_bug.cgi?id=38130
2537 Make the CSS clip property animatable.
2539 Test: transitions/clip-transition.html
2541 * page/animation/AnimationBase.cpp:
2542 (WebCore::blendFunc): New blend function for LengthBox
2543 (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.
2545 * platform/LengthBox.h:
2546 (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
2547 * rendering/style/RenderStyle.h:
2548 (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.
2550 2010-06-16 Simon Fraser <simon.fraser@apple.com>
2552 Reviewed by Dan Bernstein.
2554 Fix clipping via CSS clip: with composited descendants
2555 https://bugs.webkit.org/show_bug.cgi?id=40579
2557 Consult the 'clip' style, as well as overflow, when creating clipping
2560 Tests: compositing/geometry/clip.html
2561 compositing/overflow/clip-descendents.html
2563 * rendering/RenderLayerBacking.cpp:
2564 (WebCore::clipBox): Utility function that returns the union of the clip and overflow
2566 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
2567 get the correct clipping rectangle.
2568 * rendering/RenderLayerCompositor.cpp:
2569 (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
2570 clip as well as overflow.
2571 (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.
2573 2010-06-16 Simon Fraser <simon.fraser@apple.com>
2575 Reviewed by Darin Adler.
2577 REGRESSION: Undocked inspector toolbar is white
2578 https://bugs.webkit.org/show_bug.cgi?id=40644
2580 Make the html element 100% height so that we don't erase the background to white, after r61215.
2582 * inspector/front-end/inspector.css:
2585 2010-06-16 Brian Weinstein <bweinstein@apple.com>
2587 Reviewed by Darin Adler.
2589 User scripts injected on start are not run on image documents.
2590 https://bugs.webkit.org/show_bug.cgi?id=40722
2593 User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
2594 but this is never called from ImageDocument, so call it when we create a document element for
2597 * loader/ImageDocument.cpp:
2598 (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
2599 after creating our document element.
2601 2010-06-16 Brady Eidson <beidson@apple.com>
2603 Reviewed by NOBODY (Build fix for Mac)
2605 * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.
2607 2010-06-16 Chris Marrin <cmarrin@apple.com>
2609 Reviewed by Eric Carlson.
2611 https://bugs.webkit.org/show_bug.cgi?id=40643
2613 Second of three steps - rename Canvas3DLayer to WebGLLayer
2615 * WebCore.xcodeproj/project.pbxproj:
2616 * platform/graphics/mac/Canvas3DLayer.h: Removed.
2617 * platform/graphics/mac/Canvas3DLayer.mm: Removed.
2618 * platform/graphics/mac/GraphicsLayerCA.mm:
2619 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
2620 * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
2621 * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.
2623 2010-06-16 Chris Marrin <cmarrin@apple.com>
2625 Reviewed by Simon Fraser.
2627 https://bugs.webkit.org/show_bug.cgi?id=40643
2629 Rename GraphicsContext3DMac.cpp so it can interact with CALayer
2631 * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
2632 * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
2633 * WebCore.xcodeproj/project.pbxproj
2635 2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com>
2637 Reviewed by Dirk Schulze.
2639 Add new files, needed in SVG Text rewrite
2640 https://bugs.webkit.org/show_bug.cgi?id=40676
2642 Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
2643 in a later patch, completing the SVG Text rewrite, that will enable them.
2645 Doesn't affect any code for now, it should just reduce the review amount.
2652 * WebCore.vcproj/WebCore.vcproj:
2653 * WebCore.xcodeproj/project.pbxproj:
2654 * rendering/SVGTextChunkLayoutInfo.cpp: Added.
2655 (WebCore::cummulatedWidthOrHeightOfTextChunk):
2656 (WebCore::cummulatedWidthOfTextChunk):
2657 (WebCore::cummulatedHeightOfTextChunk):
2658 (WebCore::calculateTextAnchorShiftForTextChunk):
2659 (WebCore::applyTextAnchorToTextChunk):
2660 (WebCore::calculateTextLengthCorrectionForTextChunk):
2661 (WebCore::applyTextLengthCorrectionToTextChunk):
2662 (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
2663 (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
2664 (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
2665 (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
2666 (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
2667 * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
2668 * rendering/SVGTextQuery.cpp: Added.
2669 (WebCore::SVGTextQuery::Data::Data):
2670 (WebCore::flowBoxForRenderer):
2671 (WebCore::mapLengthThroughChunkTransformation):
2672 (WebCore::SVGTextQuery::SVGTextQuery):
2673 (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
2674 (WebCore::SVGTextQuery::executeQuery):
2675 (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
2676 (WebCore::SVGTextQuery::measureCharacterRange):
2677 (WebCore::NumberOfCharactersData::NumberOfCharactersData):
2678 (WebCore::SVGTextQuery::numberOfCharactersCallback):
2679 (WebCore::SVGTextQuery::numberOfCharacters):
2680 (WebCore::TextLengthData::TextLengthData):
2681 (WebCore::SVGTextQuery::textLengthCallback):
2682 (WebCore::SVGTextQuery::textLength):
2683 (WebCore::SubStringLengthData::SubStringLengthData):
2684 (WebCore::SVGTextQuery::subStringLengthCallback):
2685 (WebCore::SVGTextQuery::subStringLength):
2686 (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
2687 (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
2688 (WebCore::SVGTextQuery::startPositionOfCharacter):
2689 (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
2690 (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
2691 (WebCore::SVGTextQuery::endPositionOfCharacter):
2692 (WebCore::RotationOfCharacterData::RotationOfCharacterData):
2693 (WebCore::SVGTextQuery::rotationOfCharacterCallback):
2694 (WebCore::SVGTextQuery::rotationOfCharacter):
2695 (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
2696 (WebCore::SVGTextQuery::extentOfCharacterCallback):
2697 (WebCore::SVGTextQuery::extentOfCharacter):
2698 (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
2699 (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
2700 (WebCore::SVGTextQuery::characterNumberAtPosition):
2701 * rendering/SVGTextQuery.h: Added.
2703 2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com>
2705 Reviewed by Dirk Schulze.
2707 Provide floating-point support for text selection framework
2708 https://bugs.webkit.org/show_bug.cgi?id=40665
2710 This is the first chunk of the SVG Text rewrite patches.
2711 offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
2712 of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
2713 selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
2714 Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.
2716 Add a glyphScale parameter to TextRun, that will be used to support text selection
2717 in lengthAdjust/textLength scenarios in SVG text, soon.
2719 Doesn't affect any testcases so far. HTML is not affected in any way,
2720 as it only ever passes integers to these functions.
2722 * platform/graphics/Font.cpp:
2723 (WebCore::Font::selectionRectForText):
2724 (WebCore::Font::offsetForPosition):
2725 * platform/graphics/Font.h:
2726 * platform/graphics/FontFastPath.cpp:
2727 (WebCore::Font::selectionRectForSimpleText):
2728 (WebCore::Font::offsetForPositionForSimpleText):
2729 * platform/graphics/TextRun.h:
2730 (WebCore::TextRun::TextRun):
2731 (WebCore::TextRun::glyphScale):
2732 (WebCore::TextRun::setGlyphScale):
2733 (WebCore::TextRun::applyGlyphScaling):
2734 * platform/graphics/WidthIterator.cpp:
2735 (WebCore::WidthIterator::advance):
2736 * platform/graphics/chromium/FontChromiumWin.cpp:
2737 (WebCore::Font::selectionRectForComplexText):
2738 (WebCore::Font::offsetForPositionForComplexText):
2739 * platform/graphics/chromium/FontLinux.cpp:
2740 (WebCore::Font::offsetForPositionForComplexText):
2741 (WebCore::Font::selectionRectForComplexText):
2742 * platform/graphics/efl/FontEfl.cpp:
2743 (WebCore::Font::offsetForPositionForComplexText):
2744 (WebCore::Font::selectionRectForComplexText):
2745 * platform/graphics/gtk/FontGtk.cpp:
2746 (WebCore::Font::offsetForPositionForComplexText):
2747 (WebCore::Font::selectionRectForComplexText):
2748 * platform/graphics/haiku/FontHaiku.cpp:
2749 (WebCore::Font::selectionRectForComplexText):
2750 (WebCore::Font::offsetForPositionForComplexText):
2751 * platform/graphics/mac/ComplexTextController.cpp:
2752 (WebCore::ComplexTextController::offsetForPosition):
2753 * platform/graphics/mac/ComplexTextController.h:
2754 * platform/graphics/mac/FontComplexTextMac.cpp:
2755 (WebCore::Font::selectionRectForComplexText):
2756 (WebCore::Font::offsetForPositionForComplexText):
2757 * platform/graphics/qt/FontQt.cpp:
2758 (WebCore::Font::offsetForPositionForSimpleText):
2759 (WebCore::Font::offsetForPositionForComplexText):
2760 (WebCore::Font::selectionRectForSimpleText):
2761 (WebCore::Font::selectionRectForComplexText):
2762 * platform/graphics/win/FontWin.cpp:
2763 (WebCore::Font::selectionRectForComplexText):
2764 (WebCore::Font::offsetForPositionForComplexText):
2765 * platform/graphics/wince/FontWince.cpp:
2766 (WebCore::Font::offsetForPositionForComplexText):
2767 (WebCore::Font::selectionRectForComplexText):
2768 * platform/graphics/wx/FontWx.cpp:
2769 (WebCore::Font::selectionRectForComplexText):
2770 (WebCore::Font::offsetForPositionForComplexText):
2772 (WebCore::Font::selectionRectForTextUsingSVGFont):
2773 (WebCore::Font::offsetForPositionForTextUsingSVGFont):
2775 2010-06-16 Anton Muhin <antonm@chromium.org>
2777 Reviewed by Nate Chapin.
2779 [v8] Introduce single element caches for WebCore::String to v8::String conversions
2780 https://bugs.webkit.org/show_bug.cgi?id=40435
2781 Measurements show that for some web apps (GMail, Wave) and some scenarios
2782 (intensive reading and/or keeping a tab open for a long time),
2783 hit rate lies in 30--50% interval.
2784 Inlining fast case gives another minor performance win.
2786 * bindings/v8/V8Binding.cpp:
2787 (WebCore::getStringCache):
2788 (WebCore::v8ExternalStringSlow):
2789 * bindings/v8/V8Binding.h:
2790 (WebCore::v8ExternalString):
2792 2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
2794 Reviewed by Kenneth Christiansen.
2796 Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
2797 https://bugs.webkit.org/show_bug.cgi?id=39439
2799 As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
2800 "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
2801 that's just the distance from the offsetParent, not the absolute position".
2803 Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
2804 starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
2805 because all tests were done in htmls where the {i}frame element was a directly a child of the body,
2806 e.g. <html>...<body><iframe src=xxx>....<body></html>.
2808 Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
2810 * page/SpatialNavigation.cpp:
2811 (WebCore::renderRectRelativeToRootDocument):
2813 2010-06-16 Dan Bernstein <mitz@apple.com>
2815 Try to fix the Tiger build
2817 * platform/graphics/mac/SimpleFontDataMac.mm:
2818 (WebCore::SimpleFontData::platformBoundsForGlyph):
2820 2010-06-16 Dan Bernstein <mitz@apple.com>
2822 Try to fix the Tiger build
2824 * platform/graphics/mac/SimpleFontDataMac.mm:
2825 (WebCore::SimpleFontData::platformBoundsForGlyph):
2827 2010-06-16 Dan Bernstein <mitz@apple.com>
2829 Reviewed by Alexey Proskuryakov.
2831 <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
2832 https://bugs.webkit.org/show_bug.cgi?id=40386
2834 Test: platform/mac/fast/text/x-height.html
2836 The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
2837 -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.
2839 * platform/graphics/mac/SimpleFontDataMac.mm:
2840 (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
2842 (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
2845 2010-06-16 Adam Barth <abarth@webkit.org>
2847 Reviewed by Eric Seidel.
2849 Don't crash when a document ends with an entity
2850 https://bugs.webkit.org/show_bug.cgi?id=40658
2852 When we SWITCH_TO a state, we're expecting our caller to have advanced
2853 the source. Rather than have all the callers check for empty, we do
2856 * html/HTML5Lexer.cpp:
2858 2010-06-15 Adam Barth <abarth@webkit.org>
2860 Reviewed by Eric Seidel.
2863 https://bugs.webkit.org/show_bug.cgi?id=40650
2865 * page/Settings.cpp:
2866 (WebCore::Settings::Settings):
2868 2010-06-15 Mark Rowe <mrowe@apple.com>
2870 Rubber-stamped by David Harrison.
2872 sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
2873 Explicitly initialize it to null, just to be safe.
2875 * platform/sql/SQLiteStatement.cpp:
2876 (WebCore::SQLiteStatement::prepare):
2878 2010-06-15 Mark Rowe <mrowe@apple.com>
2880 Reviewed by Brady Eidson.
2882 <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation
2884 Back/forward navigation currently does not create or update items in the global history. This is usually
2885 desirable, except for in the event where the back/forward list was created programmatically and attached
2886 to the WebView and the initial load in that WebView is being performed as a result of a back/forward
2887 navigation. In that situation it is preferable to ensure that global history item is created or updated.
2889 No test case is added because DumpRenderTree is not able to test the scenario where the initial
2890 load in a WebView occurs via a back/forward navigation.
2892 * loader/FrameLoader.cpp:
2893 (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
2894 back/forward navigation then we should update the history as if it were a standard load, with the
2895 exception of updating the back/forward list.
2896 * loader/HistoryController.cpp:
2897 (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
2898 the back/forward list.
2899 * loader/HistoryController.h:
2900 (WebCore::HistoryController::):
2902 2010-06-15 Kinuko Yasuda <kinuko@chromium.org>
2904 Reviewed by David Levin.
2906 Fix compilation errors in BlobBuilder with FILE_WRITER enabled
2907 https://bugs.webkit.org/show_bug.cgi?id=40606
2909 No functionality change so no new tests.
2911 * html/BlobBuilder.cpp:
2912 * html/BlobBuilder.h:
2914 2010-06-15 Jian Li <jianli@chromium.org>
2916 Reviewed by David Levin.
2918 Move type attribute from File.idl to Blob.idl per latest File API spec.
2919 https://bugs.webkit.org/show_bug.cgi?id=40642
2924 2010-06-15 Darin Adler <darin@apple.com>
2926 Reviewed by Adam Barth.
2928 Move functions out of Frame class that were marked "move to Chrome"
2929 https://bugs.webkit.org/show_bug.cgi?id=39636
2931 Refactoring that does not require new tests.
2933 * loader/FrameLoader.cpp:
2934 (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
2935 on DOMWindow rather than going through Frame.
2936 (WebCore::FrameLoader::open): Ditto.
2937 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
2938 shouldClose on this object instead of going through Frame.
2940 * page/DOMWindow.cpp:
2941 (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
2942 shouldClose on FrameLoader instead of going through Frame.
2943 (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
2945 (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
2947 (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
2949 (WebCore::DOMWindow::setStatus): Moved the code from
2950 Frame::setJSStatusBarText in here.
2951 (WebCore::DOMWindow::setDefaultStatus): Moved the code from
2952 Frame::setJSDefaultStatusBarText in here.
2954 * page/DOMWindow.h: Added m_status and m_defaultStatus members to
2955 store the status messages being set by the DOM.
2957 * page/Frame.cpp: Removed all the functions that were marked
2958 "to be moved into Chrome".
2959 * page/Frame.h: Ditto.
2961 2010-06-15 Simon Fraser <simon.fraser@apple.com>
2963 Fix crashing tests; need to check for null documentElement().
2965 * rendering/RenderView.cpp:
2966 (WebCore::RenderView::paintBoxDecorations):
2968 2010-06-15 Simon Fraser <simon.fraser@apple.com>
2970 Reviewed by Dave Hyatt.
2972 Garbage shown outside HTML if HTML is absolutely positioned
2973 https://bugs.webkit.org/show_bug.cgi?id=36163
2975 Add a check that the root renderer (the document element's renderer) covers
2976 the entire viewport before deciding that we don't need the RenderView
2977 to paint its background. Fixes lack of painting with positioned, floated, and
2978 display: table html elements.
2980 Test: fast/repaint/positioned-document-element.html
2982 * rendering/RenderView.cpp:
2983 (WebCore::RenderView::paintBoxDecorations):
2985 2010-06-15 Simon Fraser <simon.fraser@apple.com>
2987 Reviewed by Dan Bernstein.
2989 Safari 5 does not clear background with transformed html element
2990 https://bugs.webkit.org/show_bug.cgi?id=40498
2992 When the document element is composited, ensure that the FrameView
2993 paints the background, because the composited layer may be transparent,
2994 or might get moved via animation.
2996 Test: compositing/repaint/composited-document-element.html
2998 * rendering/RenderView.cpp:
2999 (WebCore::isComposited):
3000 (WebCore::rendererObscuresBackground):
3002 2010-06-15 Xan Lopez <xlopez@igalia.com>
3004 Try to fix GTK+ build.
3006 * platform/gtk/GtkVersioning.h:
3008 2010-06-15 Darin Fisher <darin@chromium.org>
3010 Reviewed by Brady Eidson.
3012 Introduce HistoryItem::itemSequenceNumber and use it to identify
3013 HistoryItems that are clones of one another.
3015 Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
3016 equality instead of isTargetItem as the pre-requisite for not calling
3017 FrameLoader::loadItem.
3019 Changes FrameLoader::loadItem to require equivalent
3020 documentSequenceNumber before initiating a same document navigation.
3021 This alone would appear to fix the bug, but it does not go far enough
3022 since without the itemSequenceNumber equality check, we'd re-load more
3023 often than we should.
3025 Moves documentSequenceNumber assignment into createItemTree as cleanup
3026 and to ensure that it gets called properly whenever we create a cloned
3027 HistoryItem. (createItemTree's mission is to create clones up until
3028 or including the target frame depending on the value of the doClip
3031 Removes the now unused HistoryController::urlsMatchItem.
3033 https://bugs.webkit.org/show_bug.cgi?id=40451
3035 Test: fast/history/history-back-within-subframe.html
3036 http/tests/navigation/history-back-across-form-submission-to-fragment.html
3038 * history/HistoryItem.cpp:
3039 (WebCore::generateSequenceNumber):
3040 (WebCore::HistoryItem::HistoryItem):
3041 * history/HistoryItem.h:
3042 (WebCore::HistoryItem::setItemSequenceNumber):
3043 (WebCore::HistoryItem::itemSequenceNumber):
3044 * loader/FrameLoader.cpp:
3045 (WebCore::FrameLoader::loadItem):
3046 * loader/HistoryController.cpp:
3047 (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
3048 (WebCore::HistoryController::createItemTree):
3049 (WebCore::HistoryController::recursiveGoToItem):
3050 (WebCore::HistoryController::pushState):
3051 * loader/HistoryController.h:
3053 2010-06-15 Xan Lopez <xlopez@igalia.com>
3055 Reviewed by Gustavo Noronha.
3057 [GTK] Does not compile with -DGSEAL_ENABLE
3058 https://bugs.webkit.org/show_bug.cgi?id=37851
3060 Fix compilation with GSEAL_ENABLE.
3062 * platform/gtk/GtkVersioning.h:
3063 * platform/gtk/PlatformScreenGtk.cpp:
3064 (WebCore::screenDepth):
3065 (WebCore::screenDepthPerComponent):
3066 * platform/gtk/PopupMenuGtk.cpp:
3067 (WebCore::PopupMenu::show):
3068 * platform/gtk/ScrollbarGtk.cpp:
3069 (ScrollbarGtk::detachAdjustment):
3070 (ScrollbarGtk::updateThumbPosition):
3071 (ScrollbarGtk::updateThumbProportion):
3072 * plugins/gtk/PluginViewGtk.cpp:
3073 (WebCore::PluginView::paint):
3074 (WebCore::PluginView::initXEvent):
3075 (WebCore::PluginView::platformGetValue):
3076 (WebCore::PluginView::platformStart):
3077 * plugins/gtk/gtk2xtbin.c:
3078 (gtk_xtbin_realize):
3080 (gtk_xtbin_set_position):
3081 (gtk_xtbin_unrealize):
3083 2010-06-15 Xan Lopez <xlopez@igalia.com>
3085 Unreviewed build fix.
3087 Fix the build when WebSockets are disabled.
3089 * bindings/js/JSWorkerContextCustom.cpp:
3091 2010-06-15 Simon Fraser <simon.fraser@apple.com>
3093 Reviewed by Dan Bernstein.
3095 YouTube thumbnail borders vanish during transition
3096 https://bugs.webkit.org/show_bug.cgi?id=40551
3098 Turn off the direct image optimization if the image has a clip style, so that is is
3099 correctly rendered with the clip.
3101 Test: compositing/images/clip-on-directly-composited-image.html
3103 * rendering/RenderLayerBacking.cpp:
3104 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3106 2010-06-15 Yury Semikhatsky <yurys@chromium.org>
3108 Reviewed by Pavel Feldman.
3110 [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
3111 https://bugs.webkit.org/show_bug.cgi?id=40623
3113 * bindings/v8/JavaScriptCallFrame.cpp:
3114 (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
3115 * bindings/v8/ScriptDebugServer.cpp:
3116 (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
3117 not much to inspect.
3119 2010-06-15 Adam Roben <aroben@apple.com>
3121 Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds
3123 Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.
3125 Reviewed by Sam Weinig.
3127 * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
3128 DerivedSources directory to AppleInternal/Sources/WebCore.
3130 2010-06-15 Zhenyao Mo <zmo@google.com>
3132 Reviewed by Dimitri Glazkov.
3134 Bring framebuffer functions to GLES2 conformance
3135 https://bugs.webkit.org/show_bug.cgi?id=40175
3137 Test: fast/canvas/webgl/framebuffer-test.html
3139 * html/canvas/WebGLRenderingContext.cpp:
3140 (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
3141 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
3142 (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
3143 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
3144 (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
3145 * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.
3147 2010-06-15 Patrick Gansterer <paroga@paroga.com>
3149 Reviewed by David Levin.
3151 Buildfix for ResourceHandleWin after r24202 and r55542.
3152 https://bugs.webkit.org/show_bug.cgi?id=32963
3154 * platform/network/win/ResourceHandleWin.cpp:
3155 (WebCore::ResourceHandle::onHandleCreated):
3156 (WebCore::ResourceHandle::onRequestComplete):
3157 (WebCore::transferJobStatusCallback):
3158 (WebCore::ResourceHandle::start):
3160 2010-06-12 Pavel Feldman <pfeldman@chromium.org>
3162 Reviewed by Joe Pecoraro.
3164 Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.
3166 https://bugs.webkit.org/show_bug.cgi?id=40500
3168 * inspector/front-end/InjectedScript.js:
3169 (injectedScriptConstructor):
3170 (injectedScriptConstructor.):
3172 2010-06-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3174 Reviewed by Simon Hausmann.
3176 [Qt] The qt_webkit_version.pri file gets overwritten on install
3177 https://bugs.webkit.org/show_bug.cgi?id=40487
3179 Don't install qt_webkit_version.pri when building WebKit inside of Qt.
3180 The import of WebKit into Qt will take care of providing the file
3181 in mkspecs/modules and it'll be installed through projects.pro.
3185 2010-06-15 Tony Chang <tony@chromium.org>
3187 Reviewed by Ojan Vafai.
3189 resolve urls in text/html clipboard data
3190 https://bugs.webkit.org/show_bug.cgi?id=40044
3192 Allow text/html data copied from a page to contain full URLs when
3193 dragging or copy/pasting.
3195 Tests: editing/pasteboard/copy-resolves-urls.html
3196 http/tests/misc/copy-resolves-urls.html
3199 * editing/markup.cpp:
3200 (WebCore::appendStartMarkup):
3201 (WebCore::getStartMarkup):
3202 (WebCore::MarkupAccumulator::appendMarkup):
3203 (WebCore::createMarkup):
3206 * platform/chromium/ClipboardChromium.cpp:
3207 (WebCore::ClipboardChromium::writeRange):
3208 * platform/chromium/PasteboardChromium.cpp:
3209 (WebCore::Pasteboard::writeSelection):
3210 * platform/gtk/ClipboardGtk.cpp:
3211 (WebCore::ClipboardGtk::writeRange):
3212 * platform/gtk/DataObjectGtk.cpp:
3213 (WebCore::DataObjectGtk::markup):
3214 * platform/gtk/PasteboardGtk.cpp:
3215 (WebCore::Pasteboard::writeSelection):
3216 * platform/haiku/PasteboardHaiku.cpp:
3217 (WebCore::Pasteboard::writeSelection):
3218 * platform/qt/ClipboardQt.cpp:
3219 (WebCore::ClipboardQt::writeRange):
3220 * platform/qt/PasteboardQt.cpp:
3221 (WebCore::Pasteboard::writeSelection):
3223 2010-06-14 Chris Fleizach <cfleizach@apple.com>
3225 No review. GTK build fix.
3227 AX: need ListItemRole and PresentationalRole
3228 https://bugs.webkit.org/show_bug.cgi?id=40133
3230 Mostly speculative fix to make GTK unit tests work.
3232 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3234 (webkit_accessible_get_role):
3236 2010-06-14 Eric Carlson <eric.carlson@apple.com>
3238 Reviewed by Dan Bernstein.
3240 <rdar://problem/8090895> Update http streaming MIME types
3242 * platform/MIMETypeRegistry.cpp:
3243 (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.
3245 2010-06-14 Eric Carlson <eric.carlson@apple.com>
3247 Reviewed by Oliver Hunt.
3249 audio/x-mp3 MIME type not recognized
3250 <rdar://problem/7875393>
3251 https://bugs.webkit.org/show_bug.cgi?id=40594
3253 Allow MIMETypeRegistry to have more than one MIME type for a
3254 media file extension, and have the QTKit media engine register
3255 all MIME types it can find for each file type QTKit supports.
3257 Test: media/media-can-play-mp3.html
3259 * platform/MIMETypeRegistry.cpp:
3260 (WebCore::mediaMIMETypeMap): Update for new HashMap format.
3261 (WebCore::TypeExtensionPair::): Store String+Vector<String>
3262 (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
3263 mediaMIMETypeMap(), it has the canonical answer.
3264 (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
3265 a Vector of all MIME types for an extension.
3266 * platform/MIMETypeRegistry.h:
3267 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3268 (WebCore::addFileTypesToCache): Add all MIME types returned in the
3269 getMediaMIMETypesForExtension Vector.
3271 2010-06-14 Mark Rowe <mrowe@apple.com>
3273 Reviewed by Brady Eidson.
3275 <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder
3277 * platform/sql/SQLiteStatement.cpp:
3278 (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
3279 not be the case with some versions of SQLite. Instead we must null-check before dereferencing.
3281 2010-06-14 Anders Carlsson <andersca@apple.com>
3285 * plugins/mac/PluginDataMac.mm:
3287 2010-06-14 Anders Carlsson <andersca@apple.com>
3289 Reviewed by Darin Adler.
3291 Use an array for extensions in MimeClassInfo
3292 https://bugs.webkit.org/show_bug.cgi?id=40602
3294 Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.
3296 * plugins/MimeType.cpp:
3297 (WebCore::MimeType::suffixes):
3298 Create a string of joined extensions.
3300 * plugins/MimeType.h:
3301 * plugins/PluginData.h:
3302 (WebCore::operator==):
3303 * plugins/chromium/PluginDataChromium.cpp:
3304 (WebCore::getPluginMimeTypeFromExtension):
3305 * plugins/gtk/PluginDataGtk.cpp:
3306 (WebCore::PluginData::initPlugins):
3307 * plugins/mac/PluginDataMac.mm:
3308 (WebCore::PluginData::initPlugins):
3309 * plugins/qt/PluginDataQt.cpp:
3310 (WebCore::PluginData::initPlugins):
3311 * plugins/win/PluginDataWin.cpp:
3312 (WebCore::PluginData::initPlugins):
3313 * plugins/wx/PluginDataWx.cpp:
3314 (WebCore::PluginData::initPlugins):
3316 2010-06-14 Adam Barth <abarth@webkit.org>
3320 Add an include to try to fix Chromium build.
3322 * html/HTML5DocumentParser.cpp:
3324 2010-06-14 Eric Seidel <eric@webkit.org>
3326 Reviewed by Adam Barth.
3328 Safari beach-balls loading large pages with HTML5 parser
3329 https://bugs.webkit.org/show_bug.cgi?id=40596
3331 Implement parser yielding, similar to how the old
3332 HTMLDocumentParser yields.
3334 This implementation re-uses the tokenizerTimeDelay and
3335 tokenizerChunkSize settings even though they don't map exactly
3336 to the token loop that the HTML5 parser uses.
3338 * dom/DocumentParser.h:
3339 - Add a FIXME for processingData() and clarify how the
3340 appendData flag is used by renaming it to isFromNetwork.
3341 * html/HTML5DocumentParser.cpp:
3342 (WebCore::parserTimeLimit):
3343 - Defaults accessor, probably belongs on Page.
3344 (WebCore::parserChunkSize):
3345 - Defaults accessor, probably belongs on Page.
3346 (WebCore::HTML5DocumentParser::HTML5DocumentParser):
3347 (WebCore::HTML5DocumentParser::stopParsing):
3348 - Stop the continue-parsing timer if active.
3349 (WebCore::HTML5DocumentParser::processingData):
3350 - Implement this poorly understood accessor to match
3351 the old parser's behavior. It's unclear what this does
3352 and it does not affect any layout tests to my knowledge
3353 but likely affects the WebKit API in some way.
3354 (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
3355 - Pass SynchronousMode.
3356 - Do not ever pump if we've yielded to the timer.
3357 (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
3358 - A struct for storing the yield counters.
3359 (WebCore::HTML5DocumentParser::shouldContinueParsing):
3360 - Mostly matches HTMLDocumentParser::shouldContinueParsing.
3361 (WebCore::HTML5DocumentParser::pumpLexer):
3362 - Respect SynchronousMode.
3363 - ASSERT that a timer is not scheduled if we're pumping.
3364 (WebCore::isLayoutTimerActive):
3365 - This belongs on Document.
3366 (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
3367 (WebCore::HTML5DocumentParser::write):
3368 (WebCore::HTML5DocumentParser::end):
3369 - We should never end() if a timer is still outstanding.
3370 (WebCore::HTML5DocumentParser::attemptToEnd):
3371 (WebCore::HTML5DocumentParser::endIfDelayed):
3372 (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
3373 * html/HTML5DocumentParser.h:
3374 (WebCore::HTML5DocumentParser::):
3375 * html/HTMLDocumentParser.cpp:
3376 - Clarify the old TimeDelay and ChunkSize constants.
3378 2010-06-14 Adam Barth <abarth@webkit.org>
3380 Reviewed by Eric Seidel.
3382 Add a preload scanner for the HTML5 parser
3383 https://bugs.webkit.org/show_bug.cgi?id=40557
3385 This patch adds a simple preload scanner for the HTML5 parser. This
3386 preload scanner is not as awesome as the old one because it doesn't
3387 scan CSS, but it's much simpler.
3394 * WebCore.vcproj/WebCore.vcproj:
3395 * WebCore.xcodeproj/project.pbxproj:
3396 - Build file torture.
3397 * html/HTML5DocumentParser.cpp:
3398 (WebCore::HTML5DocumentParser::write):
3399 - Call into the preload scanner when waiting for a script.
3400 * html/HTML5DocumentParser.h:
3401 * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
3402 (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
3403 (WebCore::HTML5PreloadScanner::scan):
3404 - A simple loop to pump the preload scanner's lexer.
3405 (WebCore::HTML5PreloadScanner::processToken):
3406 - Preload interesting resources. Stolen from the old preload
3408 (WebCore::HTML5PreloadScanner::scanningBody):
3409 * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
3411 2010-06-14 Adam Barth <abarth@webkit.org>
3413 Reviewed by Eric Seidel.
3415 Constify some HTML5Token methods
3416 https://bugs.webkit.org/show_bug.cgi?id=40592
3418 I keep wanting these methods to be const. Eric wanted this in a
3421 * html/HTML5Lexer.h:
3422 (WebCore::HTML5Lexer::state):
3423 * html/HTML5Token.h:
3424 (WebCore::HTML5Token::attributes):
3425 (WebCore::HTML5Token::name):
3426 (WebCore::HTML5Token::characters):
3427 (WebCore::HTML5Token::comment):
3428 (WebCore::HTML5Token::publicIdentifier):
3429 (WebCore::HTML5Token::systemIdentifier):
3430 * html/HTML5TreeBuilder.cpp:
3431 (WebCore::convertToOldStyle):
3432 (WebCore::HTML5TreeBuilder::adjustedLexerState):
3433 - Technically, this might belong in the other patch, but I think
3435 (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
3436 * html/HTML5TreeBuilder.h:
3438 2010-06-14 Dumitru Daniliuc <dumi@chromium.org>
3440 Unreviewed, build fix.
3442 * WebCore.xcodeproj/project.pbxproj:
3444 2010-06-14 Dimitri Glazkov <dglazkov@chromium.org>
3446 Unreviewed, build fix.
3448 Remove accidental specifying of the class name twice.
3450 * html/HTMLFormElement.cpp:
3451 (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.
3453 2010-06-14 Dumitru Daniliuc <dumi@chromium.org>
3455 Reviewed by Adam Barth.
3457 Get DatabaseTracker ready for sync DBs.
3458 https://bugs.webkit.org/show_bug.cgi?id=39041
3460 * storage/AbstractDatabase.cpp:
3461 (WebCore::AbstractDatabase::~AbstractDatabase):
3462 * storage/AbstractDatabase.h:
3463 * storage/Database.cpp:
3464 (WebCore::Database::closeImmediately):
3465 * storage/Database.h:
3466 (WebCore::Database::scriptExecutionContext):
3467 * storage/DatabaseTracker.cpp:
3468 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3469 (WebCore::DatabaseTracker::databaseChanged):
3470 (WebCore::DatabaseTracker::addOpenDatabase):
3471 (WebCore::DatabaseTracker::removeOpenDatabase):
3472 (WebCore::DatabaseTracker::getOpenDatabases):
3473 (WebCore::DatabaseTracker::deleteDatabaseFile):
3474 * storage/DatabaseTracker.h:
3475 * storage/OriginQuotaManager.cpp:
3476 (WebCore::OriginQuotaManager::markDatabase):
3477 * storage/OriginQuotaManager.h:
3478 * storage/chromium/DatabaseObserver.h:
3479 * storage/chromium/DatabaseTrackerChromium.cpp:
3480 (WebCore::DatabaseTracker::addOpenDatabase):
3481 (WebCore::TrackerRemoveOpenDatabaseTask::create):
3482 (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
3483 (WebCore::DatabaseTracker::removeOpenDatabase):
3484 (WebCore::DatabaseTracker::getOpenDatabases):
3485 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3487 2010-06-14 Alexey Proskuryakov <ap@apple.com>
3489 Reviewed by Darin Adler.
3491 https://bugs.webkit.org/show_bug.cgi?id=40529
3492 eventSender.keyDown("delete") incorrectly sends a backspace on some platforms
3494 * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3495 Use virtual key code to force correct character code for clarity. Also, reworded comment,
3496 since saying that "backspace needs to always be 8" misleadingly implied that it could
3497 "sometimes" be such without this code.
3499 2010-06-14 Dimitri Glazkov <dglazkov@chromium.org>
3501 Reviewed by Darin Adler.
3503 Refactor form submission code in HTMLFormElement to add clarity.
3504 https://bugs.webkit.org/show_bug.cgi?id=39430
3506 Covered by existing tests in fast/forms/mailto.
3508 * html/HTMLFormElement.cpp:
3509 (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
3510 removed clearing out of the FormData and moved it to a new place (next to the call site).
3511 (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
3512 prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
3513 (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
3514 * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.
3516 2010-06-14 Chris Fleizach <cfleizach@apple.com>
3518 Reviewed by Darin Adler.
3520 AX: need ListItemRole and PresentationalRole
3521 https://bugs.webkit.org/show_bug.cgi?id=40133
3523 * accessibility/AccessibilityObject.cpp:
3524 (WebCore::createARIARoleMap):
3525 * accessibility/AccessibilityObject.h:
3526 (WebCore::AccessibilityObject::isListItem):
3527 * accessibility/AccessibilityRenderObject.cpp:
3528 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3529 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3530 * accessibility/mac/AccessibilityObjectWrapper.mm:
3531 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3533 2010-06-14 Anders Carlsson <andersca@apple.com>
3535 Reviewed by Sam Weinig.
3537 Remove pluginIndex from MimeClassInfo
3538 https://bugs.webkit.org/show_bug.cgi?id=40588
3540 * plugins/PluginData.h:
3541 * plugins/gtk/PluginDataGtk.cpp:
3542 (WebCore::PluginData::initPlugins):
3543 * plugins/mac/PluginDataMac.mm:
3544 (WebCore::PluginData::initPlugins):
3545 * plugins/qt/PluginDataQt.cpp:
3546 (WebCore::PluginData::initPlugins):
3547 * plugins/win/PluginDataWin.cpp:
3548 (WebCore::PluginData::initPlugins):
3549 * plugins/wx/PluginDataWx.cpp:
3550 (WebCore::PluginData::initPlugins):
3552 2010-06-14 Kinuko Yasuda <kinuko@chromium.org>
3554 Reviewed by Jian Li.
3556 Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
3557 https://bugs.webkit.org/show_bug.cgi?id=36903
3559 No new tests; they will be added when we add jsc bindings.
3565 * WebCore.vcproj/WebCore.vcproj:
3566 * WebCore.xcodeproj/project.pbxproj:
3567 * html/BlobBuilder.cpp: Added.
3568 * html/BlobBuilder.h: Added.
3569 (WebCore::BlobBuilder::create):
3570 * platform/BlobItem.cpp:
3571 (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
3572 * platform/BlobItem.h: Added EndingNative line-ending type.
3575 2010-06-14 Anders Carlsson <andersca@apple.com>
3577 Reviewed by Darin Adler.
3579 Stop using MimeClassInfo::pluginIndex
3580 https://bugs.webkit.org/show_bug.cgi?id=40582
3582 Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.
3584 * plugins/MimeType.cpp:
3585 (WebCore::MimeType::enabledPlugin):
3586 Get the plug-in index from the mimePluginIndices vector.
3588 * plugins/Plugin.cpp:
3589 (WebCore::Plugin::item):
3590 Compare the mime plugin index as well.
3592 * plugins/PluginData.cpp:
3593 (WebCore::PluginData::PluginData):
3594 Populate the m_mimePluginIndices vector.
3596 (WebCore::PluginData::pluginNameForMimeType):
3597 Get the plug-in index from the m_mimePluginIndices vector.
3599 * plugins/PluginData.h:
3600 (WebCore::operator==):
3601 Don't check for pluginIndex.
3603 (WebCore::PluginData::mimePluginIndices):
3604 Add getter for m_mimePluginIndices.
3606 2010-06-14 Sam Weinig <sam@webkit.org>
3610 * bindings/js/JSBindingsAllInOne.cpp:
3612 2010-06-14 Sam Weinig <sam@webkit.org>
3614 Another windows build fix.
3616 * bindings/js/JSBindingsAllInOne.cpp:
3618 2010-06-14 Sam Weinig <sam@webkit.org>
3622 * bindings/js/JSDOMWindowCustom.cpp:
3624 2010-06-14 Sam Weinig <sam@webkit.org>
3626 Add missing comma to fix GTK build.
3628 * xml/XSLTProcessor.idl:
3630 2010-06-14 Sam Weinig <sam@webkit.org>
3632 Reviewed by Alexey Proskuryakov.
3634 Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
3635 Auto-generate most of the JS constructors
3637 - Auto-generates all the JS constructors that don't have custom
3638 names (eg, Not Image(), Audio() or Option())
3640 (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
3641 (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])
3643 * Android.jscbindings.mk:
3648 * WebCore.vcproj/WebCore.vcproj:
3649 * WebCore.xcodeproj/project.pbxproj:
3650 * bindings/js/JSArrayBufferConstructor.cpp: Removed.
3651 * bindings/js/JSArrayBufferConstructor.h: Removed.
3652 * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
3653 (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
3654 * bindings/js/JSArrayBufferViewHelper.h:
3655 (WebCore::constructArrayBufferView):
3656 * bindings/js/JSBindingsAllInOne.cpp:
3657 * bindings/js/JSDOMWindowCustom.cpp:
3658 * bindings/js/JSEventSourceConstructor.cpp: Removed.
3659 * bindings/js/JSEventSourceConstructor.h: Removed.
3660 * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
3661 (WebCore::JSEventSourceConstructor::constructJSEventSource):
3662 * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
3663 * bindings/js/JSFloat32ArrayConstructor.h: Removed.
3664 * bindings/js/JSFloat32ArrayCustom.cpp:
3665 (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
3666 * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
3667 * bindings/js/JSInt16ArrayConstructor.h: Removed.
3668 * bindings/js/JSInt16ArrayCustom.cpp:
3669 (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
3670 * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
3671 * bindings/js/JSInt32ArrayConstructor.h: Removed.
3672 * bindings/js/JSInt32ArrayCustom.cpp:
3673 (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
3674 * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
3675 * bindings/js/JSInt8ArrayConstructor.h: Removed.
3676 * bindings/js/JSInt8ArrayCustom.cpp:
3677 (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
3678 * bindings/js/JSMessageChannelConstructor.cpp: Removed.
3679 * bindings/js/JSMessageChannelConstructor.h: Removed.
3680 * bindings/js/JSMessageChannelCustom.cpp:
3681 (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
3682 * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
3683 * bindings/js/JSSharedWorkerConstructor.h: Removed.
3684 * bindings/js/JSSharedWorkerCustom.cpp:
3685 (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
3686 * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
3687 * bindings/js/JSUint16ArrayConstructor.h: Removed.
3688 * bindings/js/JSUint16ArrayCustom.cpp:
3689 (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
3690 * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
3691 * bindings/js/JSUint32ArrayConstructor.h: Removed.
3692 * bindings/js/JSUint32ArrayCustom.cpp:
3693 (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
3694 * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
3695 * bindings/js/JSUint8ArrayConstructor.h: Removed.
3696 * bindings/js/JSUint8ArrayCustom.cpp:
3697 (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
3698 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
3699 * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
3700 * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
3701 (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
3702 * bindings/js/JSWebKitPointConstructor.cpp: Removed.
3703 * bindings/js/JSWebKitPointConstructor.h: Removed.
3704 * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
3705 (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
3706 * bindings/js/JSWebSocketConstructor.cpp: Removed.
3707 * bindings/js/JSWebSocketConstructor.h: Removed.
3708 * bindings/js/JSWebSocketCustom.cpp:
3709 (WebCore::JSWebSocketConstructor::constructJSWebSocket):
3710 * bindings/js/JSWorkerConstructor.cpp: Removed.
3711 * bindings/js/JSWorkerConstructor.h: Removed.
3712 * bindings/js/JSWorkerContextCustom.cpp:
3713 * bindings/js/JSWorkerCustom.cpp:
3714 (WebCore::JSWorkerConstructor::constructJSWorker):
3715 * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
3716 * bindings/js/JSXSLTProcessorConstructor.h: Removed.
3717 * bindings/js/JSXSLTProcessorCustom.cpp:
3718 (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
3719 * bindings/scripts/CodeGeneratorJS.pm:
3720 * css/WebKitCSSMatrix.idl:
3721 * dom/MessageChannel.idl:
3722 * html/canvas/ArrayBuffer.idl:
3723 * html/canvas/Float32Array.idl:
3724 * html/canvas/Int16Array.idl:
3725 * html/canvas/Int32Array.idl:
3726 * html/canvas/Int8Array.idl:
3727 * html/canvas/Uint16Array.idl:
3728 * html/canvas/Uint32Array.idl:
3729 * html/canvas/Uint8Array.idl:
3730 * page/EventSource.idl:
3731 * page/WebKitPoint.idl:
3732 * websockets/WebSocket.idl:
3733 * workers/SharedWorker.idl:
3734 * workers/Worker.idl:
3735 * xml/XSLTProcessor.idl:
3737 2010-05-16 Antonio Gomes <tonikitoo@webkit.org>
3739 Unreviewed naming fixes of local variables used in Spatial Navigation methods.
3742 * "candidate" renamed to "node";
3743 * "currentFocusCandidate" renamed to "candidate"
3744 * "closestFocusCandidate" renamed to "closest"
3746 That way naming is more consistent in the various Spatial Navigation methods.
3748 * page/FocusController.cpp:
3749 (WebCore::FocusController::findFocusableNodeInDirection):
3750 (WebCore::FocusController::deepFindFocusableNodeInDirection):
3752 2010-06-14 Antonio Gomes <tonikitoo@webkit.org>
3754 Reviewed by Simon Fraser and Kenneth Christiansen.
3756 Spatial Navigation: make it work with focusable elements in overflow content
3757 https://bugs.webkit.org/show_bug.cgi?id=36463
3759 This patch addresses the problem with Spatial Navigation. It currently does not
3760 properly traverse scrollable contents, including scrollable div's. For this to work,
3761 a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
3762 keeps track of the current scrollable box Node wrapping a FocusCandidate.
3764 To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
3765 (FocusController::findNextFocusableInDirection) was changed as follows: when it
3766 encounters a scrollable Node, each focusable node which is 'inner' keeps track of
3767 the container reference. By the time a sibling of the scrollable Node is encountered,
3768 there is no need to track this reference any more and the traversal algorithm continues
3771 The common case is obviously that there is no scrollable container wrapping it.
3773 updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
3774 newly introduced enclosingScrollableBox class member, getting simpler and more
3775 easily maintainable.
3777 Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
3778 fast/events/spatial-navigation/snav-clipped-overflow-content.html
3780 * page/FocusController.cpp:
3781 (WebCore::updateFocusCandidateInSameContainer):
3782 (WebCore::updateFocusCandidateIfCloser):
3783 (WebCore::FocusController::findFocusableNodeInDirection):
3784 (WebCore::FocusController::deepFindFocusableNodeInDirection):
3785 * page/SpatialNavigation.cpp:
3786 (WebCore::isScrollableContainerNode):
3787 * page/SpatialNavigation.h:
3788 (WebCore::FocusCandidate::FocusCandidate):
3789 (WebCore::FocusCandidate::isInScrollableContainer):
3791 2010-06-14 Jian Li <jianli@chromium.org>
3793 Unreviewed. Fix build break in GTK.
3795 * bindings/scripts/CodeGeneratorGObject.pm:
3796 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3797 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
3798 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3799 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
3800 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3802 2010-06-14 Chris Fleizach <cfleizach@apple.com>
3804 Reviewed by Beth Dakin.
3806 AX: AXUnknown objects are being returned
3807 https://bugs.webkit.org/show_bug.cgi?id=40574
3809 Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html
3811 * accessibility/mac/AccessibilityObjectMac.mm:
3812 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3814 2010-06-14 Jian Li <jianli@chromium.org>
3816 Reviewed by Darin Adler.
3818 Fix code generators to better support Conditional attribute and add test
3820 https://bugs.webkit.org/show_bug.cgi?id=39512
3822 * bindings/scripts/CodeGeneratorGObject.pm:
3823 * bindings/scripts/CodeGeneratorObjC.pm:
3824 * bindings/scripts/CodeGeneratorV8.pm:
3825 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3826 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3827 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3828 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3829 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3830 (webkit_dom_test_obj_get_conditional_attr1):
3831 (webkit_dom_test_obj_set_conditional_attr1):
3832 (webkit_dom_test_obj_get_conditional_attr2):
3833 (webkit_dom_test_obj_set_conditional_attr2):
3834 (webkit_dom_test_obj_get_conditional_attr3):
3835 (webkit_dom_test_obj_set_conditional_attr3):
3836 (webkit_dom_test_obj_set_property):
3837 (webkit_dom_test_obj_get_property):
3838 (webkit_dom_test_obj_class_init):
3839 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3840 * bindings/scripts/test/JS/JSTestInterface.cpp:
3841 * bindings/scripts/test/JS/JSTestInterface.h:
3842 * bindings/scripts/test/JS/JSTestObj.cpp:
3844 (WebCore::jsTestObjConditionalAttr1):
3845 (WebCore::jsTestObjConditionalAttr2):
3846 (WebCore::jsTestObjConditionalAttr3):
3847 (WebCore::setJSTestObjConditionalAttr1):
3848 (WebCore::setJSTestObjConditionalAttr2):
3849 (WebCore::setJSTestObjConditionalAttr3):
3850 * bindings/scripts/test/JS/JSTestObj.h:
3851 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3852 * bindings/scripts/test/ObjC/DOMTestObj.h:
3853 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3854 (-[DOMTestObj conditionalAttr1]):
3855 (-[DOMTestObj setConditionalAttr1:]):
3856 (-[DOMTestObj conditionalAttr2]):
3857 (-[DOMTestObj setConditionalAttr2:]):
3858 (-[DOMTestObj conditionalAttr3]):
3859 (-[DOMTestObj setConditionalAttr3:]):
3860 * bindings/scripts/test/TestInterface.idl:
3861 * bindings/scripts/test/TestObj.idl:
3862 * bindings/scripts/test/V8/V8TestInterface.cpp:
3863 * bindings/scripts/test/V8/V8TestInterface.h:
3864 * bindings/scripts/test/V8/V8TestObj.cpp:
3865 (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
3866 (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
3867 (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
3868 (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
3869 (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
3870 (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
3873 2010-06-14 Chang Shu <chang.shu@nokia.com>
3875 Reviewed by Kenneth Rohde Christiansen.
3877 Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
3878 Using IntSize loses precision and fails the test.
3879 Note: This code change fixes Qt port but Mac is still failing due to
3882 https://bugs.webkit.org/show_bug.cgi?id=40434
3884 * html/canvas/CanvasRenderingContext2D.cpp:
3885 (WebCore::CanvasRenderingContext2D::applyShadow):
3886 * platform/graphics/GraphicsContext.cpp:
3887 (WebCore::GraphicsContext::setShadow):
3888 (WebCore::GraphicsContext::getShadow):
3889 * platform/graphics/GraphicsContext.h:
3890 * platform/graphics/GraphicsContextPrivate.h:
3891 * platform/graphics/cairo/FontCairo.cpp:
3892 (WebCore::Font::drawGlyphs):
3893 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3894 (WebCore::GraphicsContext::calculateShadowBufferDimensions):
3895 (WebCore::drawPathShadow):
3896 (WebCore::drawBorderlessRectShadow):
3897 (WebCore::GraphicsContext::setPlatformShadow):
3898 * platform/graphics/cairo/ImageCairo.cpp:
3899 (WebCore::BitmapImage::draw):
3900 * platform/graphics/cg/GraphicsContextCG.cpp:
3901 (WebCore::GraphicsContext::setPlatformShadow):
3902 * platform/graphics/chromium/FontChromiumWin.cpp:
3903 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3904 (WebCore::Font::drawComplexText):
3905 * platform/graphics/gtk/FontGtk.cpp:
3906 (WebCore::Font::drawComplexText):
3907 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3908 (WebCore::GraphicsContext::setPlatformShadow):
3909 * platform/graphics/mac/FontMac.mm:
3910 (WebCore::Font::drawGlyphs):
3911 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3912 (WebCore::GraphicsContext::setPlatformShadow):
3913 * platform/graphics/qt/FontQt.cpp:
3914 (WebCore::drawTextCommon):
3915 * platform/graphics/qt/GraphicsContextQt.cpp:
3916 (WebCore::GraphicsContext::drawRect):
3917 (WebCore::GraphicsContext::drawLine):
3918 (WebCore::GraphicsContext::strokeArc):
3919 (WebCore::GraphicsContext::drawConvexPolygon):
3920 (WebCore::drawFilledShadowPath):
3921 (WebCore::GraphicsContext::strokePath):
3922 (WebCore::drawBorderlessRectShadow):
3923 (WebCore::GraphicsContext::setPlatformShadow):
3924 * platform/graphics/qt/ImageQt.cpp:
3925 (WebCore::BitmapImage::draw):
3926 * platform/graphics/skia/GraphicsContextSkia.cpp:
3927 (WebCore::GraphicsContext::setPlatformShadow):
3928 * platform/graphics/skia/SkiaFontWin.cpp:
3929 (WebCore::windowsCanHandleDrawTextShadow):
3930 * platform/graphics/win/FontCGWin.cpp:
3931 (WebCore::drawGDIGlyphs):
3932 (WebCore::Font::drawGlyphs):
3933 * platform/graphics/wince/GraphicsContextWince.cpp:
3934 (WebCore::GraphicsContext::fillRoundedRect):
3935 (WebCore::GraphicsContext::setPlatformShadow):
3936 (WebCore::GraphicsContext::drawText):
3937 * platform/graphics/wx/GraphicsContextWx.cpp:
3938 (WebCore::GraphicsContext::setPlatformShadow):
3940 2010-06-14 Dan Bernstein <mitz@apple.com>
3942 Reviewed by Simon Fraser.
3944 <rdar://problem/7752961> Unevenly distributed space in justified text
3945 https://bugs.webkit.org/show_bug.cgi?id=36105
3947 Test: fast/text/justify-padding-distribution.html
3949 * platform/graphics/WidthIterator.cpp:
3950 (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
3951 padding and the number of spaces rather than truncating it.
3952 (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
3953 between its old and new values, when rounded, to the advance.
3954 * platform/graphics/mac/ComplexTextController.cpp:
3955 (WebCore::ComplexTextController::ComplexTextController):
3956 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3957 * platform/graphics/win/UniscribeController.cpp:
3958 (WebCore::UniscribeController::UniscribeController):
3959 (WebCore::UniscribeController::shapeAndPlaceItem):
3960 * platform/graphics/win/UniscribeController.h:
3962 2010-06-14 Andreas Kling <andreas.kling@nokia.com>
3964 Reviewed by Tor Arne Vestbø.
3966 [Qt] Stack overflow when converting navigator object to QVariant
3967 https://bugs.webkit.org/show_bug.cgi?id=40572
3969 Protect against infinite recursion in JSValue->QVariant conversion.
3970 This fixes a crash when trying to convert MimeType objects (they
3971 recurse infinitely and on-the-fly via the enabledPlugin property.)
3973 * bridge/qt/qt_runtime.cpp:
3974 (JSC::Bindings::convertValueToQVariant):
3976 2010-06-14 Yong Li <yoli@rim.com>
3978 Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>
3980 Reviewed by Darin Adler.
3982 https://bugs.webkit.org/show_bug.cgi?id=38910
3984 Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
3985 There's no reason why we suspend all active DOM timers on the page but not suspend
3986 this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.
3988 It can only be tested manually.
3989 * manual-tests/load-deferrer-script-element.html: Added.
3990 * manual-tests/resources/load-deferrer-script-element.js: Added.
3993 (WebCore::Document::executeScriptSoon):
3994 (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
3995 (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
3997 * page/PageGroupLoadDeferrer.cpp:
3998 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3999 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
4001 2010-06-13 Yael Aharon <yael.aharon@nokia.com>
4003 Reviewed by Kenneth Rohde Christiansen.
4005 [Qt] Platform plugin support for Notifications UI
4006 https://bugs.webkit.org/show_bug.cgi?id=40005
4008 To avoid race condition when GC is run during shutdown,
4009 disconnect the Notification from the NotificationPresenter
4010 when the presenter deletes itself.
4011 This cannot be tested by a layout test, the race condition happens only
4012 when GC is run during shutdown. It can be tested manually by loading
4013 manually any notification test and closing the browser.
4015 * notifications/Notification.cpp:
4016 (WebCore::Notification::~Notification):
4017 * notifications/Notification.h:
4018 (WebCore::Notification::detachPresenter):
4020 2010-06-08 Marcus Bulach <bulach@chromium.org>
4022 Reviewed by Jeremy Orlow.
4024 Adds IndexedDB's KeyRange.
4025 https://bugs.webkit.org/show_bug.cgi?id=40250
4027 Test: storage/indexeddb/idb-keyrange.html
4029 * Android.derived.jscbindings.mk:
4030 * Android.derived.v8bindings.mk:
4033 * DerivedSources.cpp:
4034 * DerivedSources.make:
4039 * WebCore.vcproj/WebCore.vcproj:
4040 * WebCore.xcodeproj/project.pbxproj:
4041 * storage/IDBKeyRange.cpp: Added.
4042 (WebCore::IDBKeyRange::IDBKeyRange):
4043 * storage/IDBKeyRange.h: Added.
4044 (WebCore::IDBKeyRange::):
4045 (WebCore::IDBKeyRange::create):
4046 (WebCore::IDBKeyRange::~IDBKeyRange):
4047 (WebCore::IDBKeyRange::left):
4048 (WebCore::IDBKeyRange::right):
4049 (WebCore::IDBKeyRange::flags):
4050 * storage/IDBKeyRange.idl: Added.
4051 * storage/IndexedDatabaseRequest.cpp:
4052 (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
4053 (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
4054 (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
4055 (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
4056 * storage/IndexedDatabaseRequest.h:
4057 * storage/IndexedDatabaseRequest.idl:
4059 2010-06-14 Jeremy Orlow <jorlow@chromium.org>
4063 * storage/IndexedDatabaseRequest.h:
4065 2010-06-14 Jeremy Orlow <jorlow@chromium.org>
4069 * storage/IndexedDatabaseRequest.h:
4071 2010-06-14 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
4073 Reviewed by Laszlo Gombos.
4075 [Qt] navigator.geolocation support for Qt port
4076 https://bugs.webkit.org/show_bug.cgi?id=39724
4078 Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.
4082 * platform/qt/GeolocationServiceQt.cpp: Added.
4083 (WebCore::GeolocationServiceQt::create):
4084 (WebCore::GeolocationServiceQt::GeolocationServiceQt):
4085 (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
4086 (WebCore::GeolocationServiceQt::positionUpdated):
4087 (WebCore::GeolocationServiceQt::startUpdating):
4088 (WebCore::GeolocationServiceQt::stopUpdating):
4089 * platform/qt/GeolocationServiceQt.h: Added.
4090 (WebCore::GeolocationServiceQt::lastPosition):
4091 (WebCore::GeolocationServiceQt::lastError):
4093 2010-06-14 Jeremy Orlow <jorlow@chromium.org>
4097 * storage/IDBDatabaseImpl.h:
4098 * storage/IndexedDatabaseRequest.h:
4100 2010-06-14 Jeremy Orlow <jorlow@chromium.org>
4102 Unreviewed build fix for my last.
4104 * workers/WorkerScriptLoaderClient.h:
4106 2010-06-14 Jeremy Orlow <jorlow@chromium.org>
4108 Reviewed by Darin Fisher.
4110 [V8] Clean up SerializedScriptValue
4111 https://bugs.webkit.org/show_bug.cgi?id=40482
4113 SerializedScriptValue doesn't follow WebKit's style guidelines very well
4114 and needlessly inlines quite a bit within the .h file. This change cleans
4115 things up. No funcitonal changes.
4117 No change in behavior.
4119 * bindings/v8/SerializedScriptValue.cpp:
4120 (WebCore::SerializedScriptValue::deserializeAndSetProperty):
4121 (WebCore::SerializedScriptValue::create):
4122 (WebCore::SerializedScriptValue::createFromWire):
4123 (WebCore::SerializedScriptValue::release):
4124 (WebCore::SerializedScriptValue::SerializedScriptValue):
4125 * bindings/v8/SerializedScriptValue.h:
4127 2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
4129 Reviewed by Pavel Feldman.
4131 WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
4132 data from inspected page to WebInspector as JSON string via http. The native
4133 serialization to JSON string is supported by InspectorValue's classes. This patch
4134 has the implementation of sendMessageToFrontend function. WebKit version of it still
4135 uses ScriptFunctionCall and will be switched to another transport a little bit later.
4136 https://bugs.webkit.org/show_bug.cgi?id=40134
4138 * inspector/InspectorClient.h: