1 2012-09-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
3 Gesture tap highlighting entire first line
4 https://bugs.webkit.org/show_bug.cgi?id=97668
6 Reviewed by Kenneth Rohde Christiansen.
8 Keep better track if which part is the first, middle or last, and adjust the X-edges accordingly.
10 * page/GestureTapHighlighter.cpp:
12 2012-09-26 Vsevolod Vlasov <vsevik@chromium.org>
14 Web Inspector: DefaultTextEditor throws exception sometimes.
15 https://bugs.webkit.org/show_bug.cgi?id=97681
17 Reviewed by Alexander Pavlov.
19 Added a check that line number does not exceed text model line count.
21 * inspector/front-end/DefaultTextEditor.js:
22 (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
24 2012-09-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
26 [TextureMapper] Remove unused method
27 https://bugs.webkit.org/show_bug.cgi?id=97675
29 Reviewed by Simon Hausmann.
31 * platform/graphics/texmap/TextureMapperGL.h: Remove uidForImage()
33 2012-09-25 Ilya Tikhonovsky <loislo@chromium.org>
35 Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h
36 https://bugs.webkit.org/show_bug.cgi?id=97198
38 Reviewed by Yury Semikhatsky.
40 Current implementation has overloads for HashSet.
41 This prevents us from instrumenting complex cases like Vector<HashSet<...> >.
43 * css/CSSCursorImageValue.cpp:
44 (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
45 * css/StyleResolver.cpp:
46 (WebCore::StyleResolver::Features::reportMemoryUsage):
47 (WebCore::StyleResolver::collectMatchingRulesForList):
49 (WebCore::Document::reportMemoryUsage):
50 * dom/DocumentEventQueue.cpp:
51 (WebCore::DocumentEventQueue::reportMemoryUsage):
52 * loader/DocumentLoader.cpp:
53 (WebCore::DocumentLoader::reportMemoryUsage):
54 * loader/FrameLoader.cpp:
55 (WebCore::FrameLoader::reportMemoryUsage):
56 * loader/cache/CachedResource.cpp:
57 (WebCore::CachedResource::reportMemoryUsage):
58 * loader/cache/CachedResourceLoader.cpp:
59 (WebCore::CachedResourceLoader::reportMemoryUsage):
61 2012-09-26 Dominik Röttsches <dominik.rottsches@intel.com>
63 [soup] Obey setTimeoutInterval in soup backend
64 https://bugs.webkit.org/show_bug.cgi?id=94796
66 Reviewed by Gustavo Noronha Silva.
68 Implementing ResourceHandle's setTimeoutInterval support for the soup backend.
69 This is preparatory work for bug 74802, timeout support for XHR2. The patch
70 has been successfully tested in combination with my work-in-progress
73 No new tests yet, tests will be added with the patch in bug 74802.
75 * platform/network/ResourceHandleInternal.h:
76 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Adding a timeout source.
77 (ResourceHandleInternal):
78 * platform/network/soup/ResourceHandleSoup.cpp:
80 (WebCore::cleanupSoupRequestOperation): Resetting the timer.
81 (WebCore::sendRequestCallback): Stopping the timer.
82 (WebCore::startHTTPRequest): Starting a timeout timer before the async request.
83 (WebCore::ResourceHandle::platformSetDefersLoading): Starting a timeout timer before the async request.
84 (WebCore::requestTimeoutCallback): Preparing a corresponding resource error and notifying clients of failure.
85 (WebCore::startNonHTTPRequest): Starting a timeout timer before the async request.
87 2012-09-26 Andrey Kosyakov <caseq@chromium.org>
89 Web Inspector: paint inspector overlay on a transparency layer
90 https://bugs.webkit.org/show_bug.cgi?id=97659
92 Reviewed by Pavel Feldman.
94 Set composite operation to copy and begin transparency layer before painting the
95 frame view of overlay page, so that text on transparent background is properly rendered.
97 * inspector/InspectorOverlay.cpp:
98 (WebCore::InspectorOverlay::paint):
100 2012-09-26 Marcelo Lira <marcelo.lira@openbossa.org>
102 [Qt] Make use of ASCIILiteral in PlatformKeyboardEventQt.cpp
103 https://bugs.webkit.org/show_bug.cgi?id=97612
105 Reviewed by Jocelyn Turcotte.
107 String literals returned by keyIdentifierForQtKeyCode and
108 keyTextForKeyEvent now make use of more efficient ASCIILiteral.
110 * platform/qt/PlatformKeyboardEventQt.cpp:
111 (WebCore::keyIdentifierForQtKeyCode):
112 (WebCore::keyTextForKeyEvent):
114 2012-09-26 Yury Semikhatsky <yurys@chromium.org>
116 Unreviewed. Roll out http://trac.webkit.org/changeset/129502 since it broke cookie table.
117 https://bugs.webkit.org/show_bug.cgi?id=97471
119 * inspector/front-end/CookieParser.js:
120 (WebInspector.Cookie.prototype.expires):
121 * inspector/front-end/CookiesTable.js:
122 (WebInspector.CookiesTable.prototype._createGridNode):
124 2012-09-25 Vsevolod Vlasov <vsevik@chromium.org>
126 Web Inspector: Remove resource() getter from UISourceCode.
127 https://bugs.webkit.org/show_bug.cgi?id=97557
129 Reviewed by Pavel Feldman.
131 Resource getter removed from UISourceCode. Resource could be fetched from ResourceTreeModel directly.
133 * inspector/front-end/CSSStyleModel.js:
134 (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
135 * inspector/front-end/CompilerScriptMapping.js:
136 * inspector/front-end/JavaScriptSource.js:
137 (WebInspector.JavaScriptSource):
138 * inspector/front-end/NetworkUISourceCodeProvider.js:
139 (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
140 * inspector/front-end/ResourceScriptMapping.js:
141 (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
142 * inspector/front-end/SASSSourceMapping.js:
143 (WebInspector.SASSSource):
144 * inspector/front-end/ScriptSnippetModel.js:
145 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
146 (WebInspector.SnippetJavaScriptSource):
147 * inspector/front-end/ScriptsPanel.js:
148 (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
149 * inspector/front-end/StyleSource.js:
150 (WebInspector.StyleSource):
151 * inspector/front-end/UISourceCode.js:
152 (WebInspector.UISourceCode):
154 2012-09-26 Vsevolod Vlasov <vsevik@chromium.org>
156 Web Inspector: Fix closure compilation errors.
157 https://bugs.webkit.org/show_bug.cgi?id=97666
159 Reviewed by Alexander Pavlov.
161 Fixed closure compilation errors.
162 Changed contentProvider contentURL() method return type to string.
163 Removed redundant () in CookieTable.
165 * inspector/front-end/CSSStyleModel.js:
166 * inspector/front-end/ContentProvider.js:
167 * inspector/front-end/ContentProviders.js:
168 (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
169 (WebInspector.StaticContentProvider.prototype.contentURL):
170 * inspector/front-end/CookiesTable.js:
171 (WebInspector.CookiesTable.prototype._createGridNode):
172 * inspector/front-end/DOMAgent.js:
173 (WebInspector.DOMDocument):
174 * inspector/front-end/FileContentView.js:
175 * inspector/front-end/NetworkRequest.js:
176 * inspector/front-end/Resource.js:
177 * inspector/front-end/Script.js:
178 * inspector/front-end/ScriptsPanel.js:
179 * inspector/front-end/UISourceCode.js:
181 2012-09-26 Yury Semikhatsky <yurys@chromium.org>
183 Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap
184 https://bugs.webkit.org/show_bug.cgi?id=97641
186 Reviewed by Pavel Feldman.
188 Added code that allows to check if all objects counted by the memory instrumentation
189 were allocated by the underlying memory allocator. It requires support
190 from the memory allocator. The code works only if the set of allocated objects
191 is not empty and should only be used for debugging purposes.
193 * inspector/InspectorClient.h:
195 (WebCore::InspectorClient::getAllocatedObjects):
196 * inspector/InspectorController.cpp:
197 (WebCore::InspectorController::InspectorController):
198 * inspector/InspectorMemoryAgent.cpp:
199 (WebCore::collectDomTreeInfo):
200 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
201 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
202 * inspector/InspectorMemoryAgent.h:
204 (WebCore::InspectorMemoryAgent::create):
205 (InspectorMemoryAgent):
206 * inspector/MemoryInstrumentationImpl.cpp:
207 (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
208 (WebCore::MemoryInstrumentationImpl::countObjectSize):
210 (WebCore::MemoryInstrumentationImpl::checkCountedObject):
211 * inspector/MemoryInstrumentationImpl.h:
212 (MemoryInstrumentationImpl):
214 2012-09-26 Keishi Hattori <keishi@webkit.org>
216 SuggestionPicker min width is two pixels wider than it should be
217 https://bugs.webkit.org/show_bug.cgi?id=97645
219 Reviewed by Kent Tamura.
221 Suggestion picker's minimum width should match inputWidth.
223 No new tests. Added later in Bug 97645.
225 * Resources/pagepopups/suggestionPicker.js:
226 (SuggestionPicker.prototype._measureMaxContentWidth):
227 (SuggestionPicker.prototype._fixWindowSize): We shouldn't be adding ListBorder to inputWidth.
229 2012-09-26 Andrey Adaikin <aandrey@chromium.org>
231 Web Inspector: [TextEditor] fix tab unindent selection restore
232 https://bugs.webkit.org/show_bug.cgi?id=97462
234 Reviewed by Vsevolod Vlasov.
236 Selection would be wrongly restored on tab unindent when the last line does not need to be unindented unlike the others.
238 * inspector/front-end/DefaultTextEditor.js:
239 (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
240 (WebInspector.TextEditorMainPanel.prototype._unindentLines):
242 2012-09-26 Yoshifumi Inoue <yosin@chromium.org>
244 Rename ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS to ENABLE_INPUT_MULTIPLE_FIELDS_UI
245 https://bugs.webkit.org/show_bug.cgi?id=97640
247 This patch renames ENABLE_INPUT_TYPE_TIME MULTIPLE_FIELDS feature
248 flag to ENABLE_INPUT_MULTIPLE_FIELDS_UI for implementing multiple
249 fields date/time input UI other than input type "time".
251 No new tests. This patch doesn't change behavior.
255 * html/DateTimeFieldsState.cpp:
256 * html/DateTimeFieldsState.h:
257 * html/TimeInputType.cpp:
259 * html/TimeInputType.h:
261 * html/shadow/DateTimeEditElement.cpp:
262 * html/shadow/DateTimeEditElement.h:
263 * html/shadow/DateTimeFieldElement.cpp:
264 * html/shadow/DateTimeFieldElement.h:
265 * html/shadow/DateTimeFieldElements.cpp:
266 * html/shadow/DateTimeFieldElements.h:
267 * html/shadow/DateTimeNumericFieldElement.cpp:
268 * html/shadow/DateTimeNumericFieldElement.h:
269 * html/shadow/DateTimeSymbolicFieldElement.cpp:
270 * html/shadow/DateTimeSymbolicFieldElement.h:
271 * platform/LocalizedStrings.h:
273 * platform/text/DateTimeFormat.cpp:
274 * platform/text/DateTimeFormat.h:
275 * platform/text/LocaleICU.cpp:
276 (WebCore::LocaleICU::LocaleICU):
277 (WebCore::LocaleICU::~LocaleICU):
279 * platform/text/LocaleICU.h:
281 * platform/text/LocaleWin.cpp:
283 * platform/text/LocaleWin.h:
285 * platform/text/LocalizedNumber.h:
287 * platform/text/LocalizedNumberICU.cpp:
289 * platform/text/LocalizedNumberNone.cpp:
291 * platform/text/Localizer.cpp:
293 * platform/text/Localizer.h:
295 * platform/text/mac/LocaleMac.h:
297 * platform/text/mac/LocaleMac.mm:
299 * platform/text/mac/LocalizedNumberMac.mm:
301 * platform/text/win/LocalizedNumberWin.cpp:
304 2012-09-26 Zan Dobersek <zandobersek@gmail.com>
306 [GTK] Enable some of the unstable CSS features
307 https://bugs.webkit.org/show_bug.cgi?id=97572
309 Reviewed by Martin Robinson.
311 Enable the CSS sticky position, CSS3 text decoration and <style scoped>
312 features by default but disable them if unstable features are not meant
315 No new tests - the related tests are being unskipped or are having failure
316 expectations removed.
319 * GNUmakefile.features.am:
321 2012-09-26 Dongwoo Joshua Im <dw.im@samsung.com>
323 Fix potential build error on LocalFileSystem::deleteFileSystem
324 https://bugs.webkit.org/show_bug.cgi?id=97632
326 Reviewed by Yuta Kitamura.
328 Non-Chrome build of WebKit with FILE_SYSTEM flag will be broken at LocalFileSystem::deleteFileSystem.
329 Type of the third parameter is PassOwnPtr<AsyncFileSystemCallbacks> in header file,
330 but PassRefPtr<AsyncFileSystemCallbacks> in cpp file.
332 Non-Chrome WebKit build with FILE_SYSTEM should be finished successfully.
334 * Modules/filesystem/LocalFileSystem.cpp:
335 (WebCore::LocalFileSystem::deleteFileSystem):
337 2012-09-25 Patrick Gansterer <paroga@webkit.org>
339 [WIN] Fix ASSERT in BString after r128988.
341 * platform/win/BString.cpp:
342 (WebCore::BString::~BString):
343 (WebCore::BString::adoptBSTR):
344 (WebCore::BString::clear): Set pointer to 0 after freeing.
346 2012-09-25 Yoshifumi Inoue <yosin@chromium.org>
348 [Forms] We should disconnect DateTimeEditElement and DateTimeFieldElement on layout()
349 https://bugs.webkit.org/show_bug.cgi?id=97438
351 Reviewed by Kent Tamura.
353 This patch is for code cleanup. It is better to disconnect DateTimeFieldElement
354 from DateTimeEditElement when DateTimeEditElement doesn't have
355 pointers to DateTimeFieldElement.
357 No new tests. This patch doesn't change behavior.
359 * html/shadow/DateTimeEditElement.cpp:
360 (WebCore::DateTimeEditElement::resetFields): Changed to call DateTimeFieldElement::removeEventHandler()
361 for existing fields to disconnect DateTimeEditElement and DateTimeFieldElement.
363 2012-09-25 Bear Travis <betravis@adobe.com>
365 [CSS Exclusions] shape-inside line segment layout should be based on line position and height
366 https://bugs.webkit.org/show_bug.cgi?id=95479
368 Reviewed by Levi Weintraub.
370 This patch adds line height to line top to calculate line segments using the line's upper
371 and lower logical edges. The last line in a shape is allowed to overflow the shape,
372 using line top and shape bottom to calculate the available line segments. Overflow
373 behavior will develop in greater detail as the specification advances. For more on
375 - http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property and
376 - https://www.w3.org/Bugs/Public/show_bug.cgi?id=16460
378 As more shapes are added, line positions within a shape are no longer guaranteed to
379 have segments (eg, the first line in a circular shape inside), and so many instances
380 of lineState were replaced with hasSegments. Layout code also uses lineOverlapsShapeBounds
381 rather than lineState, now that lines may partially overlap a shape without being
382 completely contained by it. Because layout begins at the shape's logical top, however,
383 we only run into this edge case laying out the last line within a shape-inside.
385 Test: fast/exclusions/shape-inside/shape-inside-rounded-rectangle.html
387 * rendering/RenderBlockLineLayout.cpp:
388 (WebCore::LineWidth::LineWidth): Use WrapShapeInfo::hasSegments rather than
389 WrapShapeInfo::lineState, as line positions within a shape are no longer
390 guaranteed to always have line segments.
391 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
392 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Pass lineBottom as well as lineTop
393 to computeSegmentsForLine.
394 * rendering/WrapShapeInfo.cpp:
395 (WebCore::WrapShapeInfo::computeSegmentsForLine): Pass lineBottom as well as lineTop
396 to ExclusionShape::getInsideIntervals.
397 * rendering/WrapShapeInfo.h:
399 (WebCore::WrapShapeInfo::shapeLogicalBottom): Calculate the logical bottom of an
401 (WebCore::WrapShapeInfo::hasSegments): Allow hasSegments to be called even when
402 a line does not overlap a shape.
403 (WebCore::WrapShapeInfo::lineOverlapsShapeBounds): Test whether a line's top/bottom
404 overlap a shape's top/bottom. This includes lines that begin before or end after
405 a shape but still overlap it.
407 2012-09-25 Adam Barth <abarth@webkit.org>
409 [Chromium] Network requests without a networking context can be started
410 https://bugs.webkit.org/show_bug.cgi?id=97498
412 Reviewed by Eric Seidel.
414 We shouldn't try to start network requests without a networking
415 context. Other ports have a similar null check.
417 * platform/network/chromium/ResourceHandle.cpp:
418 (WebCore::ResourceHandle::start):
420 2012-09-25 Justin Schuh <jschuh@chromium.org>
422 Mask RenderArena freelist entries.
423 https://bugs.webkit.org/show_bug.cgi?id=97494
425 Reviewed by Julien Chaffraix.
427 This is a mitigation for freelist spraying. See http://download.crowdstrike.com/papers/hes-exploiting-a-coalmine.pdf.
429 No new tests. This is a hardening measure. Found no measurable performance impact with Dromaeo.
431 * rendering/RenderArena.cpp:
433 (WebCore::RenderArena::allocate):
434 (WebCore::RenderArena::free):
436 2012-09-25 Luke Macpherson <macpherson@chromium.org>
438 Ensure variables are resolved for specialized CSS primitive value types.
439 https://bugs.webkit.org/show_bug.cgi?id=95930
441 Reviewed by Tony Chang.
443 Sometimes CSSPrimitiveValue contains a collection of other CSSPrimitiveValues (eg. 2, 4 or n).
444 This patch makes sure any variables contained inside those child values are resolved.
446 Tests: fast/css/variables/root-background-size.html
447 fast/css/variables/var-inside-pair.html
448 fast/css/variables/var-inside-quad.html
449 fast/css/variables/var-inside-shape.html
451 * css/CSSBasicShapes.cpp:
452 (WebCore::buildRectangleString):
453 (WebCore::CSSBasicShapeRectangle::cssText):
455 (WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
456 Generates a string representation of this value with variables resolved from the provided HashMap of variables.
457 (WebCore::CSSBasicShapeRectangle::hasVariableReference):
458 Returns true if any of the values used to describe the rectange depend on the value of a variable.
459 (WebCore::buildCircleString):
460 (WebCore::CSSBasicShapeCircle::cssText):
461 (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
462 (WebCore::CSSBasicShapeCircle::hasVariableReference):
463 (WebCore::buildEllipseString):
464 (WebCore::CSSBasicShapeEllipse::cssText):
465 (WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
466 (WebCore::CSSBasicShapeEllipse::hasVariableReference):
467 (WebCore::CSSBasicShapePolygon::serializeResolvingVariables):
468 (WebCore::CSSBasicShapePolygon::hasVariableReference):
469 * css/CSSBasicShapes.h:
470 (CSSBasicShapeRectangle):
471 (CSSBasicShapeCircle):
472 (CSSBasicShapeEllipse):
473 (CSSBasicShapePolygon):
474 * css/CSSPrimitiveValue.cpp:
475 (WebCore::CSSPrimitiveValue::customCssText):
476 Move the logic for generating the strings for Rects, Quads, Pairs and Shapes into their respective classes.
477 (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
478 Handle Rects, Quads, Pairs and Shapes when they contain variables, by calling their serializeResolvingVariables method.
480 (WebCore::CSSPrimitiveValue::hasVariableReference):
481 Handle Rects, Quads, Pairs and Shapes by calling their respective hasVariableReference methods.
482 * css/CSSPrimitiveValue.h:
485 (WebCore::Pair::pairString):
487 (WebCore::Pair::cssText):
488 (WebCore::Pair::serializeResolvingVariables):
489 (WebCore::Pair::hasVariableReference):
492 (WebCore::RectBase::hasVariableReference):
493 (WebCore::Rect::rectString):
495 (WebCore::Rect::cssText):
496 (WebCore::Rect::serializeResolvingVariables):
497 (WebCore::Quad::quadString):
499 (WebCore::Quad::cssText):
500 (WebCore::Quad::serializeResolvingVariables):
501 * css/StyleResolver.cpp:
502 (WebCore::StyleResolver::collectMatchingRulesForList):
504 2012-09-25 Filip Pizlo <fpizlo@apple.com>
506 JSC bindings appear to sometimes ignore the possibility of arrays being in sparse mode
507 https://bugs.webkit.org/show_bug.cgi?id=95610
509 Reviewed by Oliver Hunt.
511 Fix all of the cases I found where we were using getIndexQuickly(), which was wrong
512 if we were in sparse mode.
514 * bindings/js/ArrayValue.cpp:
515 (WebCore::ArrayValue::get):
516 * bindings/js/JSBlobCustom.cpp:
517 (WebCore::JSBlobConstructor::constructJSBlob):
518 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
519 (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
520 * bindings/js/JSDOMStringListCustom.cpp:
521 (WebCore::toDOMStringList):
522 * bindings/js/JSInspectorFrontendHostCustom.cpp:
523 (WebCore::populateContextMenuItems):
524 * bindings/js/JSWebSocketCustom.cpp:
525 (WebCore::JSWebSocketConstructor::constructJSWebSocket):
526 * bindings/js/ScriptValue.cpp:
527 (WebCore::jsToInspectorValue):
528 * bindings/js/SerializedScriptValue.cpp:
530 (WebCore::CloneSerializer::serialize):
532 2012-09-25 Tim Horton <timothy_horton@apple.com>
534 Load the linearized sRGB profile via NSData instead of CoreFoundation
535 https://bugs.webkit.org/show_bug.cgi?id=97616
537 Reviewed by Dan Bernstein.
539 * platform/graphics/cg/GraphicsContextCG.cpp:
540 (WebCore::linearRGBColorSpaceRef):
541 * platform/graphics/mac/GraphicsContextMac.mm:
542 (WebCore::linearRGBColorSpaceRef):
544 2012-09-25 Mike West <mkwst@chromium.org>
546 CSP logging: Be more developer-friendly when 'default-src' is violated.
547 https://bugs.webkit.org/show_bug.cgi?id=97597
549 Reviewed by Adam Barth.
551 Developers unfamiliar with the details of Content Security Policy might
552 be confused when 'default-src' is used as a fallback for a directive
553 otherwise absent from the policy they've set. This patch adds an
554 explicit explanation to the permission warning in such a situation.
556 New warning string is covered by rebaselining existing tests.
558 * page/ContentSecurityPolicy.cpp:
559 (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
560 (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
561 (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
562 If the operative directive is 'default-src', output a warning,
563 using the type information present in the report to specify which
564 directive is falling back to the default values.
566 2012-09-25 Beth Dakin <bdakin@apple.com>
568 https://bugs.webkit.org/show_bug.cgi?id=97615
569 fast/loader/scroll-position-restored-on-back.html failing after
570 didFirstLayout/didFirstVisuallyNonEmptyLayout change
572 Reviewed by Sam Weinig.
574 http://trac.webkit.org/changeset/129545 made it so we only dispatch
575 the layout callbacks when the client has opted into them. This is a
576 problem for a bit of work that used to be done, prior to that patch,
577 in FrameLoader::didFirstLayout(). Because that function did some work
578 with scroll position and the state machine, and that is work that we
579 want to do even when the client has not opted into the didFirstLayout
580 callback. We are seeing this bug in DRT and WTR since those clients
581 do not opt into the callback. And they shouldn't have to to get this
582 scroll position and state machine work done.
584 * loader/FrameLoader.cpp:
585 (WebCore::FrameLoader::didLayout):
586 (WebCore::FrameLoader::didFirstLayout):
587 * loader/FrameLoader.h:
589 * page/FrameView.cpp:
590 (WebCore::FrameView::performPostLayoutTasks):
592 2012-09-24 Simon Fraser <simon.fraser@apple.com>
594 <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
596 Reviewed by Mark Rowe.
598 Use a new WebKitSytemInterface function to add data to crash logs about which
599 test was running when the crash happened.
601 * WebCore.exp.in: Export wkSetCrashReportApplicationSpecificInformation
602 * platform/mac/WebCoreSystemInterface.h: Add wkSetCrashReportApplicationSpecificInformation.
603 * platform/mac/WebCoreSystemInterface.mm: Ditto.
605 2012-09-25 Adam Klein <adamk@chromium.org>
607 Remove unused DOMAttrModified from EventsNames and Document::ListenerType
608 https://bugs.webkit.org/show_bug.cgi?id=97591
610 Reviewed by Ojan Vafai.
612 WebKit does not, and will never, fire DOMAttrModified events, so
613 there's no need to create the "DOMAttrModified" event name.
615 The only use of the name was to set the DOMATTRMODIFIED_LISTENER bit
616 on Document; with the name gone, the enum value can be removed as well.
619 (WebCore::Document::addListenerTypeIfNeeded):
620 * dom/Document.h: Remove DOMATTRMODIFIED_LISTENER, and switch this
621 enum to use shift-left instead of hex values, so as to be easier to
626 2012-09-25 Leo Yang <leoyang@rim.com>
628 GraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3DOpenGLCommon.cpp
629 https://bugs.webkit.org/show_bug.cgi?id=97476
631 Reviewed by Dean Jackson.
633 No new tests because it's not testable in webkit test runner.
635 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
636 (WebCore::GraphicsContext3D::compileShader):
637 Use translatedShaderCString.length() instead of translatedShaderSource.length()
638 for the shader source length because we are using translatedShaderCString.data()
639 for glShaderSource().
641 2012-09-25 Huang Dongsung <luxtella@company100.net>
643 Use USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true.
644 https://bugs.webkit.org/show_bug.cgi?id=97543
646 Reviewed by Dean Jackson.
648 This patch cleans remaining ENABLE(WEBGL) guards in CSS SHADERS code after
649 r122175, which made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
651 No new tests because of no behavior changes.
653 * rendering/FilterEffectRenderer.cpp:
655 (WebCore::FilterEffectRenderer::build):
656 * rendering/RenderView.cpp:
658 * rendering/RenderView.h:
662 2012-09-25 Beth Dakin <bdakin@apple.com>
664 https://bugs.webkit.org/show_bug.cgi?id=95397
665 Need to merge didFirstVisuallyNonEmptyLayout and
666 didNewFirstVisuallyNonEmptyLayout
668 <rdar://problem/10791680>
670 Reviewed by Sam Weinig.
672 This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout,
673 and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which
674 layout milestones we are interested in with a bit mask, so that
675 different ports/clients can opt-into different milestones. This
676 will allow us to safely add more layout milestones in the future
677 if that seems worthwhile.
679 Include new file LayoutMilestoneOptions.h
680 * GNUmakefile.list.am:
684 * WebCore.xcodeproj/project.pbxproj:
686 Remove dispatchDidFirstLayout,
687 dispatchDidFirstVisuallyNonEmptyLayout, and
688 dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced
689 by dispatchDidLayout(LayoutMilestoneOptions)
690 * loader/EmptyClients.h:
691 (WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
692 * loader/FrameLoader.cpp:
693 (WebCore::FrameLoader::didLayout):
694 * loader/FrameLoader.h:
696 * loader/FrameLoaderClient.h:
698 (WebCore::FrameLoaderClient::dispatchDidLayout):
699 * page/LayoutMilestoneOptions.h: Added.
702 Check with Page to find out which layout milestones the client is
703 interested in, and then dispatch the notifications when
705 * page/FrameView.cpp:
706 (WebCore::FrameView::performPostLayoutTasks):
708 Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep
709 track of the layout milestones bit mask.
711 (WebCore::Page::Page):
712 (WebCore::Page::addLayoutMilestones):
714 (WebCore::Page::isCountingRelevantRepaintedObjects):
715 (WebCore::Page::addRelevantRepaintedObject):
718 (WebCore::Page::layoutMilestones):
720 2012-09-25 Andreas Kling <kling@webkit.org>
722 StylePropertySet: Use subclasses to manage varying object layouts.
723 <http://webkit.org/b/97470>
725 Reviewed by Antti Koivisto.
727 Add two StylePropertySet subclasses:
729 - MutableStylePropertySet
730 - ImmutableStylePropertySet
732 The StylePropertySet::m_isMutable bit determines which subclass to cast to when accessing
733 the property storage. Added mutablePropertyVector() and immutablePropertyArray() helpers
734 to StylePropertySet (with appropriate assertions.)
736 This patch removes one heap allocation (and one step of indirection) in the mutable case,
737 since the Vector<CSSProperty> is no longer heap-allocated, but part of MutableStylePropertySet.
739 Override RefCounted::deref() in StylePropertySet to make sure that the correct subclass
740 destructor gets called.
743 * css/StylePropertySet.cpp:
744 (WebCore::immutableStylePropertySetSize):
745 (WebCore::StylePropertySet::createImmutable):
746 (WebCore::StylePropertySet::immutableCopyIfNeeded):
747 (WebCore::MutableStylePropertySet::MutableStylePropertySet):
748 (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
749 (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
750 (WebCore::StylePropertySet::~StylePropertySet):
751 (WebCore::StylePropertySet::removeProperty):
752 (WebCore::StylePropertySet::parseDeclaration):
753 (WebCore::StylePropertySet::addParsedProperties):
754 (WebCore::StylePropertySet::removePropertiesInSet):
755 (WebCore::StylePropertySet::removeEquivalentProperties):
756 (WebCore::StylePropertySet::copy):
757 (WebCore::StylePropertySet::reportMemoryUsage):
758 (WebCore::StylePropertySet::append):
759 (WebCore::StylePropertySet::create):
760 * css/StylePropertySet.h:
762 (WebCore::StylePropertySet::StylePropertySet):
763 (ImmutableStylePropertySet):
764 (MutableStylePropertySet):
765 (WebCore::MutableStylePropertySet::MutableStylePropertySet):
766 (WebCore::StylePropertySet::mutablePropertyVector):
767 (WebCore::StylePropertySet::immutablePropertyArray):
768 (WebCore::StylePropertySet::propertyAt):
769 (WebCore::StylePropertySet::propertyCount):
770 (WebCore::StylePropertySet::deref):
772 2012-09-25 Joshua Bell <jsbell@chromium.org>
774 IndexedDB: One transaction coordinator per database
775 https://bugs.webkit.org/show_bug.cgi?id=97501
777 Reviewed by Tony Chang.
779 Per the IDB spec, transactions only need to be sequenced within databases.
780 The implementation was using one coordinator per factory backend (effectively
781 a singleton), which would prevent parallel execution of transactions in different
782 databases. Moved ownership of the transaction coordinator to the database backend.
784 Tests: storage/indexeddb/transaction-coordination-across-databases.html
785 storage/indexeddb/transaction-readwrite-exclusive.html
787 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
788 (WebCore::IDBDatabaseBackendImpl::create):
790 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
791 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
792 (IDBDatabaseBackendImpl):
793 * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
794 (WebCore::IDBFactoryBackendImpl::deleteDatabase):
795 (WebCore::IDBFactoryBackendImpl::open):
796 * Modules/indexeddb/IDBFactoryBackendImpl.h:
798 (IDBFactoryBackendImpl):
799 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
800 (WebCore::IDBTransactionCoordinator::create):
801 (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
802 * Modules/indexeddb/IDBTransactionCoordinator.h:
803 (IDBTransactionCoordinator):
805 2012-09-25 Sheriff Bot <webkit.review.bot@gmail.com>
807 Unreviewed, rolling out r129517.
808 http://trac.webkit.org/changeset/129517
809 https://bugs.webkit.org/show_bug.cgi?id=97582
811 Link errors in chromium (Requested by alecf on #webkit).
813 * Modules/mediastream/MediaConstraintsImpl.cpp:
814 * Modules/mediastream/MediaConstraintsImpl.h:
815 * Modules/mediastream/NavigatorMediaStream.cpp:
816 (WebCore::NavigatorMediaStream::webkitGetUserMedia):
817 * Modules/mediastream/UserMediaRequest.cpp:
818 (WebCore::UserMediaRequest::create):
819 (WebCore::UserMediaRequest::UserMediaRequest):
820 * Modules/mediastream/UserMediaRequest.h:
823 (WebCore::UserMediaRequest::audio):
824 (WebCore::UserMediaRequest::video):
825 * platform/chromium/support/WebMediaConstraints.cpp:
827 2012-09-25 Bear Travis <betravis@adobe.com>
829 [CSS Exclusions] Enable css exclusions for multiple blocks per element
830 https://bugs.webkit.org/show_bug.cgi?id=89993
832 Reviewed by Julien Chaffraix.
834 Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
835 the inline content of its children. This patch follows the example of ColumnInfo
836 and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
837 inline content should respect.
839 Tests: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
840 fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html
842 * rendering/LayoutState.cpp:
843 (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
844 * rendering/LayoutState.h:
846 (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
848 (WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
849 * rendering/RenderBlockLineLayout.cpp:
850 (WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
851 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
852 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
853 * rendering/RenderView.h:
854 (WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
857 2012-09-24 Emil A Eklund <eae@chromium.org>
859 [chromium] REGRESSION: Incorrect preferred width calculation for table cells
860 https://bugs.webkit.org/show_bug.cgi?id=97497
862 Reviewed by Levi Weintraub.
864 In fixing bug 93911 r125694 caused a problem with the preferred
865 width calculations for table cells with a fractional padding
866 where the logic to ensure that the cell is wide enough for the
867 content returns different results for cells with a fixed width
868 and cells with an automatic width.
870 Test: fast/sub-pixel/table-cells-have-stable-width.html
872 * rendering/AutoTableLayout.cpp:
873 (WebCore::AutoTableLayout::recalcColumn):
874 * rendering/RenderBlock.cpp:
875 (WebCore::RenderBlock::computePreferredLogicalWidths):
876 Move the logic that ensures that a cell is wide enough from AutoTableLayout::recalcColumn to RenderBlock::computePreferredLogicalWidths to. This way it also applies to FixedTableLayout which had the same problem.
878 2012-09-25 Dominic Mazzoni <dmazzoni@google.com>
880 AX: Chromium doesn't pass accessibility text range and line number tests
881 https://bugs.webkit.org/show_bug.cgi?id=97246
883 Reviewed by Chris Fleizach.
885 Adds a method to get all line breaks at once, so retrieving all
886 line breaks isn't an O(n^2) operation for Chromium.
888 Enables four existing tests to pass on Chromium:
889 Tests: accessibility/textarea-insertion-point-line-number.html
890 accessibility/textarea-line-for-index.html
891 accessibility/textarea-selected-text-range.html
892 accessibility/textbox-role-reports-selection.html
894 * accessibility/AccessibilityObject.h:
895 (WebCore::AccessibilityObject::lineBreaks):
896 * accessibility/AccessibilityRenderObject.cpp:
897 (WebCore::AccessibilityRenderObject::lineBreaks):
899 * accessibility/AccessibilityRenderObject.h:
900 (AccessibilityRenderObject):
902 2012-09-25 Mike West <mkwst@google.com>
904 CSP paths: Ignore invalid path components, rather than dropping the source completely.
905 https://bugs.webkit.org/show_bug.cgi?id=97538
907 Reviewed by Adam Barth.
909 Content Security Policy directives that accept source lists currently
910 handle soure URI paths containing '?' or '#' in a draconian fashion by
911 dropping the entire source expression. We should be slightly friendlier,
912 and ignore simply the portion of the source expression that we know to
913 be invalid, just as we previously ignored everything after and including
914 a '/' in source expressions before we supported paths.
916 The new behavior is covered by existing tests, and two test-cases added
917 to http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html.
919 * page/ContentSecurityPolicy.cpp:
920 (WebCore::CSPSourceList::parsePath):
921 Report an error to the console, rather than ignoring a path that
922 contains an invalid fragment or query.
923 (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
925 * page/ContentSecurityPolicy.h:
926 Add a new warning type to cover this case.
928 2012-09-25 commit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
930 [BlackBerry] Reverting implementation for 407 error pages
931 https://bugs.webkit.org/show_bug.cgi?id=97455
933 Reviewed by Rob Buis.
935 Adding additional fixes to NetworkJob since BlackBerry::Platform::Client
936 is no longer avaliable. Using BlackBerryPlatformSettings to get proxy
939 BlackBerryPlatformClient was deleted in PR 170160.
941 * platform/network/blackberry/NetworkJob.cpp:
942 (WebCore::NetworkJob::sendRequestWithCredentials):
944 2012-09-25 Hans Wennborg <hans@chromium.org>
946 GIFImageReader: fix tautological compare
947 https://bugs.webkit.org/show_bug.cgi?id=97563
949 Reviewed by Adam Barth.
951 The frame_reader->disposal_method field is of type
952 ImageFrame::FrameDisposalMethod, which has a range of 0--3. Therefore,
953 recent versions of Clang concludes that the expression
954 frame_reader->disposal_method == 4
955 will never be true, and warns about it.
957 This patch fixes the code by doing the comparison before storing the
960 No new functionality, no new tests.
962 * platform/image-decoders/gif/GIFImageReader.cpp:
963 (GIFImageReader::read):
965 2012-09-25 Tommy Widenflycht <tommyw@google.com>
967 MediaStream API: Update getUserMedia to match the latest specification
968 https://bugs.webkit.org/show_bug.cgi?id=97540
970 Reviewed by Adam Barth.
972 http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
973 Navigator.getUserMedia is changed so that the audio and video members can either
974 be a bool or a constraints object.
976 Existing tests expanded to cover the new change.
978 * Modules/mediastream/MediaConstraintsImpl.cpp:
979 (WebCore::MediaConstraintsImpl::create):
981 * Modules/mediastream/MediaConstraintsImpl.h:
982 (MediaConstraintsImpl):
983 * Modules/mediastream/NavigatorMediaStream.cpp:
984 (WebCore::NavigatorMediaStream::webkitGetUserMedia):
985 * Modules/mediastream/UserMediaRequest.cpp:
986 (WebCore::parseOptions):
988 (WebCore::UserMediaRequest::create):
989 (WebCore::UserMediaRequest::UserMediaRequest):
990 (WebCore::UserMediaRequest::audio):
991 (WebCore::UserMediaRequest::video):
992 (WebCore::UserMediaRequest::audioConstraints):
993 (WebCore::UserMediaRequest::videoConstraints):
994 * Modules/mediastream/UserMediaRequest.h:
997 * platform/chromium/support/WebMediaConstraints.cpp:
998 (WebKit::WebMediaConstraints::WebMediaConstraints):
1001 2012-09-25 mire <mbudaes@adobe.com>
1003 Web Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens
1004 https://bugs.webkit.org/show_bug.cgi?id=97120
1006 Reviewed by Alexander Pavlov.
1008 Add mouseout event listener to popover element so that the pop-up will go when moving to another panel.
1012 * inspector/front-end/Popover.js:
1013 (WebInspector.Popover.prototype.show):
1014 (WebInspector.PopoverHelper.prototype._mouseOut):
1016 2012-09-25 Otto Derek Cheung <otcheung@rim.com>
1018 [BlackBerry] Reverting implementation for 407 error pages
1019 https://bugs.webkit.org/show_bug.cgi?id=97455
1021 Reviewed by Rob Buis.
1023 Revert "[BlackBerry] Show custom error page when 407 is received"
1024 This reverts commit f6fe97ec3f1841a151e4ebdde21f710a6185f9d6.
1026 * platform/network/blackberry/NetworkJob.cpp:
1027 (WebCore::NetworkJob::handleNotifyStatusReceived):
1028 (WebCore::NetworkJob::notifyAuthReceived):
1029 (WebCore::NetworkJob::sendRequestWithCredentials):
1031 2012-09-25 Otto Derek Cheung <otcheung@rim.com>
1033 Web Inspector: Cookie info in Network Resources Cookies tab shows "Invalid Date"
1034 https://bugs.webkit.org/show_bug.cgi?id=97471
1036 Reviewed by Yury Semikhatsky.
1038 The original implementation is trying to create a new Date object
1039 using another Date object, which is invalid. Also, Date.toGMTString is
1042 The fix replaces toGMTString with toUTCString and fixes cookie.expire
1043 so it won't crash when an empty requestDate is passed in.
1045 Following RFC 6265, Max-age attributes now take precedence over expiresi
1046 attribute in CookieParser.
1048 Manual testing on inspector to make sure the CookiesTable is properly generated.
1050 * inspector/front-end/CookieParser.js:
1051 (WebInspector.Cookie.prototype.expires):
1052 * inspector/front-end/CookiesTable.js:
1053 (WebInspector.CookiesTable.prototype._createGridNode):
1055 2012-09-25 Keishi Hattori <keishi@webkit.org>
1057 [Chromium] Enable datalist UI for input type=date
1058 https://bugs.webkit.org/show_bug.cgi?id=97541
1060 Reviewed by Kent Tamura.
1062 This enables datalist UI for input type=date on Chromium.
1064 No new tests. Adding tests in Bug 97551.
1066 * rendering/RenderThemeChromiumCommon.cpp:
1067 (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
1069 2012-09-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1071 [WK2] Supported media MIME types are not included to the list of shown MIME types.
1072 https://bugs.webkit.org/show_bug.cgi?id=97552
1074 Reviewed by Kenneth Rohde Christiansen.
1076 Exported WebCore::MIMETypeRegistry::isSupportedMediaMIMEType() for MAC.
1078 No new tests. No new functionality.
1082 2012-09-25 Vsevolod Vlasov <vsevik@chromium.org>
1084 Web Inspector: ResourceScriptMapping should no steal scripts from other mappings.
1085 https://bugs.webkit.org/show_bug.cgi?id=97453
1087 Reviewed by Pavel Feldman.
1089 Exposed sourceMapping getter on Script so that resource mapping could check it.
1091 * inspector/front-end/ResourceScriptMapping.js:
1092 (WebInspector.ResourceScriptMapping):
1093 (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
1094 (WebInspector.ResourceScriptMapping.prototype._reset):
1096 2012-09-25 Keishi Hattori <keishi@webkit.org>
1098 REGRESSION(r129448): multiple fields time input UI doesn't use system time format settings on Chromium-Mac
1099 https://bugs.webkit.org/show_bug.cgi?id=97517
1101 Reviewed by Kent Tamura.
1103 We need to locale [NSLocale currentLocale] if browser language/@lang equals [[NSLocal currentLocale] localeIdentifier]. Otherwise it won't use the custom time format that the user has set.
1105 No new tests. Unable to test because we need to change system locale settings.
1107 * platform/text/mac/LocaleMac.h:
1109 * platform/text/mac/LocaleMac.mm:
1110 (WebCore::languageFromLocale): Moved to top.
1112 (WebCore::determineLocale): Modified so it takes a locale as an argument.
1113 (WebCore::Localizer::create):
1114 (WebCore::LocaleMac::LocaleMac): Added checks for invalid locales to this constructor and removed the other one so we don't have duplicated code.
1115 (WebCore::LocaleMac::create):
1116 (WebCore::LocaleMac::currentLocale):
1118 2012-09-20 Alexander Pavlov <apavlov@chromium.org>
1120 Web Inspector: Relative URL Link Tooltips do not respect <base>
1121 https://bugs.webkit.org/show_bug.cgi?id=43434
1123 Reviewed by Pavel Feldman.
1125 New "baseURL" field added into the DOM.Node payload for document nodes and is made use of while resolving and completing URLs.
1127 * inspector/Inspector.json:
1128 * inspector/InspectorDOMAgent.cpp:
1129 (WebCore::documentBaseURLString):
1131 (WebCore::InspectorDOMAgent::buildObjectForNode):
1132 * inspector/front-end/AuditRules.js:
1133 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1134 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1135 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1136 * inspector/front-end/DOMAgent.js:
1137 (WebInspector.DOMNode.prototype.resolveURL):
1138 (WebInspector.DOMDocument):
1140 2012-09-25 Peter Wang <peter.wang@torchmobile.com.cn>
1142 Web Inspector: The JS code injected by worker inspector shouldn't be evaluated through JSMainThreadExecState
1143 https://bugs.webkit.org/show_bug.cgi?id=95341
1145 Reviewed by Yury Semikhatsky.
1147 Add extra code to "JSC::InjectedScriptManager" and "JSC::ScriptFunctionCall" to make sure the
1148 interfaces of JSMainThreadExecState are invoked only in main thread.
1150 No new test case for this bug. Without this patch, opening worker inspector will meet failed assert statements.
1152 * bindings/js/JSInjectedScriptManager.cpp:
1153 (WebCore::InjectedScriptManager::createInjectedScript):
1154 * bindings/js/ScriptFunctionCall.cpp:
1155 (WebCore::ScriptFunctionCall::call):
1157 2012-09-25 Andreas Kling <kling@webkit.org>
1159 CSSParserString: Avoid pointless String refcount churn in init().
1160 <http://webkit.org/b/94748>
1162 Reviewed by Sam Weinig.
1164 Have CSSParserString::init() take a const String& instead of a String.
1166 * css/CSSParserValues.h:
1167 (WebCore::CSSParserString::init):
1169 2012-09-25 Alexander Pavlov <apavlov@chromium.org>
1171 Web Inspector: [Styles] For group selectors, transmit their segments with the "matches" flag
1172 https://bugs.webkit.org/show_bug.cgi?id=96999
1174 Reviewed by Pavel Feldman.
1176 The CSSRule protocol object has been modified to include a SelectorList object that contains selector-related data.
1177 CSSAgent methods that return CSS rule matches will return RuleMatch objects that encapsulate matching CSSRules
1178 with indices of matching selectors on the associated selector list, so the additional backend roundtrips
1179 from StylesSidebarPane are no longer necessary.
1181 * inspector/Inspector.json:
1182 * inspector/InspectorCSSAgent.cpp:
1183 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1184 (WebCore::InspectorCSSAgent::buildObjectForRule):
1186 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
1187 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1188 * inspector/InspectorCSSAgent.h:
1189 (InspectorCSSAgent):
1190 * inspector/InspectorStyleSheet.cpp:
1191 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1193 (WebCore::InspectorStyleSheet::buildObjectForRule):
1194 * inspector/InspectorStyleSheet.h:
1195 (InspectorStyleSheet):
1196 * inspector/front-end/CSSStyleModel.js:
1197 (WebInspector.CSSStyleModel.parseRuleMatchArrayPayload):
1198 (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
1199 (WebInspector.CSSRule):
1200 (WebInspector.CSSRule.parsePayload):
1201 * inspector/front-end/StylesSidebarPane.js:
1202 (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1203 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1204 (WebInspector.StylePropertiesSection.prototype._markSelectorMatches):
1205 (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1206 (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
1208 2012-09-25 MORITA Hajime <morrita@google.com>
1210 adoptNode() shouldn't reset ownerDocument if the source node failed to remove itself
1211 https://bugs.webkit.org/show_bug.cgi?id=97527
1213 Reviewed by Ryosuke Niwa.
1215 Document::adoptNode() overlooked an error which can happen in Node::removeChild().
1216 Which results an assertion failure. This change adds an error check for that code path.
1218 Test: fast/dom/adopt-node-prevented.html
1221 (WebCore::Document::adoptNode):
1223 2012-09-21 Ilya Tikhonovsky <loislo@chromium.org>
1225 Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header.
1226 https://bugs.webkit.org/show_bug.cgi?id=96650
1228 Reviewed by Vsevolod Vlasov.
1230 addInstrumentedVector and addInstrumentedVectorPtr were replaced with addMember.
1231 The same thing happens with addVector and addVectorPtr.
1233 * css/CSSGradientValue.cpp:
1234 (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
1235 * css/CSSImageSetValue.cpp:
1236 (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
1237 * css/CSSMediaRule.cpp:
1238 (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
1239 * css/CSSRuleList.cpp:
1240 (WebCore::StaticCSSRuleList::reportMemoryUsage):
1241 * css/CSSStyleSheet.cpp:
1242 (WebCore::CSSStyleSheet::reportMemoryUsage):
1243 * css/CSSValueList.cpp:
1244 (WebCore::CSSValueList::reportDescendantMemoryUsage):
1245 * css/MediaList.cpp:
1246 (WebCore::MediaQuerySet::reportMemoryUsage):
1247 * css/MediaQuery.cpp:
1248 (WebCore::MediaQuery::reportMemoryUsage):
1249 * css/StyleResolver.cpp:
1250 (WebCore::StyleResolver::collectMatchingRulesForList):
1251 * css/StyleRule.cpp:
1252 (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
1253 * css/StyleSheetContents.cpp:
1254 (WebCore::StyleSheetContents::reportMemoryUsage):
1255 * css/WebKitCSSKeyframesRule.cpp:
1256 (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1257 (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
1258 * css/WebKitCSSRegionRule.cpp:
1259 (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
1261 (WebCore::Document::reportMemoryUsage):
1262 * loader/DocumentLoader.cpp:
1263 (WebCore::DocumentLoader::reportMemoryUsage):
1264 * platform/network/ResourceRequestBase.cpp:
1265 (WebCore::ResourceRequestBase::reportMemoryUsage):
1267 2012-09-25 Vivek Galatage <vivekgalatage@gmail.com>
1269 REGRESSION(r129346): It broke !ENABLE(INSPECTOR) build
1270 https://bugs.webkit.org/show_bug.cgi?id=97490
1272 Reviewed by Csaba Osztrogonác.
1274 The dummy class implementation must be under the ENABLE(INSPECTOR)
1275 guard. Added them to prevent from braking the build with --minimal
1276 option for build-webkit
1278 No new tests as caused by missing compile guard.
1280 * testing/Internals.cpp:
1283 2012-09-24 Bo Liu <boliu@chromium.org>
1285 Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
1286 https://bugs.webkit.org/show_bug.cgi?id=97055
1288 Reviewed by Adam Barth.
1290 Relanding 128780, 128676, 128645. Was reverted in 128914 due to
1291 performance regression in Chromium.
1293 New changes in addition to previously reverted patches:
1295 Refactored CachedResource::requestResource, loadResource, and
1296 revalidateResource. Moved CachedResource::load method to end of
1297 requestResource so there is one place where load is called for all
1300 Added a enum parameter for requestResource and
1301 determineRevalidationPolicy so that FrameLoaderClient::allowImage call
1302 do not need to be called multiple times.
1304 Removed CachedImage::load call in requestImage so it is not called
1307 Removed unnecessary Frame.h includes in CachedResource and
1310 Removed dead load() method declaration in CachedImage.
1312 Updated text expectation for two image-permissions tests to reflect
1313 the removed calls to allowImage.
1315 Tests: fast/loader/display-image-unset-allows-cached-image-load.html
1316 fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
1317 fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
1320 * loader/FrameLoader.cpp:
1321 (WebCore::FrameLoader::didBeginDocument):
1322 * loader/SubresourceLoader.cpp:
1323 (WebCore::SubresourceLoader::willSendRequest):
1324 * loader/cache/CachedImage.cpp:
1325 * loader/cache/CachedImage.h:
1326 * loader/cache/CachedResource.cpp:
1327 (WebCore::CachedResource::didAddClient):
1328 * loader/cache/CachedResource.h:
1330 (WebCore::CachedResource::stillNeedsLoad):
1331 * loader/cache/CachedResourceLoader.cpp:
1332 (WebCore::CachedResourceLoader::CachedResourceLoader):
1333 (WebCore::CachedResourceLoader::requestImage):
1334 (WebCore::CachedResourceLoader::canRequest):
1335 (WebCore::CachedResourceLoader::requestResource):
1336 (WebCore::CachedResourceLoader::revalidateResource):
1337 (WebCore::CachedResourceLoader::loadResource):
1338 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1339 (WebCore::CachedResourceLoader::setAutoLoadImages):
1341 (WebCore::CachedResourceLoader::setImagesEnabled):
1342 (WebCore::CachedResourceLoader::clientDefersImage):
1343 (WebCore::CachedResourceLoader::shouldDeferImageLoad):
1344 (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
1345 * loader/cache/CachedResourceLoader.h:
1346 (CachedResourceLoader):
1347 * page/Settings.cpp:
1348 (WebCore::setImageLoadingSettings):
1349 (WebCore::Settings::Settings):
1350 (WebCore::Settings::setLoadsImagesAutomatically):
1351 (WebCore::Settings::imageLoadingSettingsTimerFired):
1352 (WebCore::Settings::setImagesEnabled):
1355 * testing/InternalSettings.cpp:
1356 (WebCore::InternalSettings::Backup::Backup):
1357 (WebCore::InternalSettings::Backup::restoreTo):
1358 (WebCore::InternalSettings::setImagesEnabled):
1360 * testing/InternalSettings.h:
1363 * testing/InternalSettings.idl:
1365 2012-09-24 Filip Pizlo <fpizlo@apple.com>
1367 SerializedScriptValue isn't aware of indexed storage, but should be
1368 https://bugs.webkit.org/show_bug.cgi?id=97515
1369 <rdar://problem/12361874>
1371 Reviewed by Sam Weinig.
1373 New test: fast/js/post-message-numeric-property.html
1375 * bindings/js/SerializedScriptValue.cpp:
1376 (WebCore::CloneDeserializer::putProperty):
1378 2012-09-24 Gavin Barraclough <barraclough@apple.com>
1380 Remove JSObject::unwrappedGlobalObject(), JSObject::unwrappedObject()
1381 https://bugs.webkit.org/show_bug.cgi?id=97519
1383 Reviewed by Geoff Garen.
1385 JSDOMWindowShell::setWindow should update the structure's globalObject.
1387 * bindings/js/JSDOMWindowShell.h:
1388 (WebCore::JSDOMWindowShell::setWindow):
1389 - Update the JSDOMWindowShell's structure's globalObject when the
1392 2012-09-24 Yoshifumi Inoue <yosin@chromium.org>
1394 [Forms] We should remove DateTimeEditElement::valueAsDouble()
1395 https://bugs.webkit.org/show_bug.cgi?id=97327
1397 Reviewed by Kent Tamura.
1399 This patch removes unused function DateTimeEditElement::valueAsDouble()
1400 and related functions in DateTimeFieldElement.
1402 This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1403 ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1405 No new tests. This patch doesn't change behavior.
1407 * html/shadow/DateTimeEditElement.cpp: Removed valueAsDouble() implementation.
1408 * html/shadow/DateTimeEditElement.h: Removed valueAsDouble() declaration.
1409 (DateTimeEditElement):
1410 * html/shadow/DateTimeFieldElement.cpp: Removed valueAsDouble() implementation.
1411 * html/shadow/DateTimeFieldElement.h: Removed unitInMillisecond() and valueAsDouble() declarations.
1412 (DateTimeFieldElement):
1413 * html/shadow/DateTimeFieldElements.cpp: Removed unitInMillisecond() implementations.
1414 * html/shadow/DateTimeFieldElements.h:
1415 (DateTimeAMPMFieldElement): Removed unitInMillisecond() declaration.
1416 (DateTimeHourFieldElement): ditto.
1417 (DateTimeMillisecondFieldElement): ditto.
1418 (DateTimeMinuteFieldElement): ditto.
1419 (DateTimeSecondFieldElement): ditto.
1421 2012-09-24 Antti Koivisto <antti@apple.com>
1423 Don't use StyleSheetList internally.
1424 https://bugs.webkit.org/show_bug.cgi?id=97504
1426 Reviewed by Ryosuke Niwa.
1428 StyleSheetList is a DOM type and should not be used internally. Use plain Vector instead and construct StyleSheetList on DOM access only.
1430 * css/StyleResolver.cpp:
1431 (WebCore::StyleResolver::StyleResolver):
1432 (WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
1433 (WebCore::StyleResolver::collectMatchingRulesForList):
1434 * css/StyleSheetList.cpp:
1435 (WebCore::StyleSheetList::StyleSheetList):
1436 (WebCore::StyleSheetList::styleSheets):
1438 (WebCore::StyleSheetList::detachFromDocument):
1440 Use live stylesheet vector of the documents stylesheet collection as long as we are attached to a document.
1441 When detached copy the stylesheet vector to a member field and use that instead.
1443 (WebCore::StyleSheetList::length):
1444 (WebCore::StyleSheetList::item):
1445 (WebCore::StyleSheetList::getNamedItem):
1446 * css/StyleSheetList.h:
1448 Removed StyleSheetVector typedef as Vector<RefPtr<StyleSheet> > is less opaque and not much longer.
1451 (WebCore::StyleSheetList::create):
1453 (WebCore::StyleSheetList::document):
1455 (WebCore::Document::~Document):
1456 (WebCore::Document::setCompatibilityMode):
1457 (WebCore::Document::styleSheets):
1460 * dom/DocumentStyleSheetCollection.cpp:
1461 (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
1462 (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
1463 (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
1464 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1465 * dom/DocumentStyleSheetCollection.h:
1466 (WebCore::DocumentStyleSheetCollec
1468 2012-09-24 Laszlo Gombos <l.gombos@samsung.com>
1470 [GTK][EFL] Remove cairo prefix from include statements
1471 https://bugs.webkit.org/show_bug.cgi?id=97509
1473 Reviewed by Gyuyoung Kim.
1475 Make the build system consistent by always assuming that directory
1476 that includes the cairo headers is included in the include path.
1478 No new tests as there is no new functionality.
1480 * platform/cairo/WidgetBackingStoreCairo.cpp:
1481 * platform/gtk/GtkWidgetBackingStoreX11.cpp:
1482 * plugins/gtk/PluginViewGtk.cpp:
1484 2012-09-24 Yoshifumi Inoue <yosin@chromium.org>
1486 Document::adoptNode for multiple fields time input UI should not crash
1487 https://bugs.webkit.org/show_bug.cgi?id=97428
1489 Reviewed by Dimitri Glazkov.
1491 This patch changes Document::removeFocusedNodeOfSubtree() to check
1492 focused node in shadow DOM tree for avoiding Document::m_focusedNode
1493 not to have dangling pointer to field owner in DateTimeFieldElement.
1496 - fast/dom/shadow/shadow-removechild-and-blur-event.html: test for removeChild dispatches blur event.
1497 - fast/forms/time-multiple-fields/time-multiple-fields-crash-after-adoptnode.html: test for adoptNode not to crash.
1498 - fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html: removeChild of input type "time" dispatches blur event, existing test.
1501 (WebCore::Document::removeFocusedNodeOfSubtree): Changed to check
1502 focused node in shadow DOM tree in addition to descendant node.
1504 2012-09-24 Robin Cao <robin.cao@torchmobile.com.cn>
1506 [Blackberry] Add a software rendering path for media player
1507 https://bugs.webkit.org/show_bug.cgi?id=97443
1509 Reviewed by Yong Li.
1511 This patch adds a software rendering path for media player. When accelerated rendering
1512 is not supported by the media engine for the current media, the rendering will fallback
1513 to this software path.
1516 Reviewed internally by Max Feil.
1518 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1519 (WebCore::MediaPlayerPrivate::paint):
1520 (WebCore::MediaPlayerPrivate::updateStates):
1521 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
1523 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1524 (MediaPlayerPrivate):
1526 2012-09-24 Benjamin Poulain <bpoulain@apple.com>
1528 Fix Geolocation error reporting in the test support
1529 https://bugs.webkit.org/show_bug.cgi?id=97386
1531 Reviewed by Sam Weinig.
1533 GeolocationController currently expose GeolocationError which can be either
1534 PermissionDenied or PositionUnavailable.
1536 In practice, only PositionUnavailable is supported and tested, only Chrome
1537 somewhat expose PermissionDenied.
1538 The correct way to deny the permission is through Geolocation::setIsAllowed().
1540 This patch does some of the initial cleanup toward that goal, reducing how
1541 far GeolocationError is spread.
1544 * WebCore.xcodeproj/project.pbxproj:
1545 Mac does not use GeolocationClientMock, it should not be compiled in WebCore.
1547 * platform/mock/GeolocationClientMock.cpp:
1548 (WebCore::GeolocationClientMock::GeolocationClientMock):
1549 (WebCore::GeolocationClientMock::setPosition):
1550 (WebCore::GeolocationClientMock::setPositionUnavailableError):
1551 This method replace setError(). It is limited to PositionUnavailable errors.
1553 (WebCore::GeolocationClientMock::reset):
1554 (WebCore::GeolocationClientMock::controllerTimerFired):
1556 (WebCore::GeolocationClientMock::clearError):
1557 * platform/mock/GeolocationClientMock.h:
1559 (GeolocationClientMock):
1561 2012-09-24 Kent Tamura <tkent@chromium.org>
1563 [Chromium] Implement ValidationMessageClient for Chromium
1564 https://bugs.webkit.org/show_bug.cgi?id=97167
1566 Reviewed by Hajime Morita.
1568 * page/ValidationMessageClient.h:
1569 Add forward declaration for WTF::String.
1571 2012-09-24 Yoshifumi Inoue <yosin@chromium.org>
1573 [Forms] DateTimeEditElement should return string value for ease of implementing other date/time input types.
1574 https://bugs.webkit.org/show_bug.cgi?id=97303
1576 Reviewed by Kent Tamura.
1578 This patch introduces a function DateTimeEditElement::value() for
1579 setting internal text value of TimeInputType with new function
1580 EditControlOwner::formatDateTimeFieldsState() to utilize this protocl
1581 in other date time input types.
1583 We used DateTimeEditElement::valueAsDouble() and and BaseDateAndTimeInputType::serialize()
1584 to make string value then setting internal text value of multiple
1585 fields time input UI. Although, this steps doesn't work well for
1586 other date/time input types.
1588 This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1589 ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1591 No new tests. This patch doesn't change behavior.
1593 * html/DateTimeFieldsState.cpp:
1594 (WebCore::DateTimeFieldsState::hour23): Added to convert 1 to 12 hour value to 0 to 23 hour.
1595 * html/DateTimeFieldsState.h:
1596 (DateTimeFieldsState): Added declaration of hour23().
1597 * html/TimeInputType.cpp:
1598 (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
1599 (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::formatDateTimeFieldsState): Added to format time.
1600 (WebCore::TimeInputType::restoreFormControlState): Changed to use DateTimeEditElement::value() instead of DateTimeEditElement::valueAsDouble().
1601 * html/TimeInputType.h:
1602 (DateTimeEditControlOwnerImpl): Added a declaration of formatDateTimeFieldsState().
1603 * html/shadow/DateTimeEditElement.cpp:
1604 (WebCore::DateTimeEditElement::value): Added.
1605 * html/shadow/DateTimeEditElement.h:
1606 (EditControlOwner): Added a declaration of formatDateTimeFieldsState().
1607 (DateTimeEditElement): Added a declaration of value().
1609 2012-09-24 Dean Jackson <dino@apple.com>
1611 [WebGL] Intel Mac needs built-in function emulation
1612 https://bugs.webkit.org/show_bug.cgi?id=96140
1614 Reviewed by Sam Weinig.
1616 Temporarily turn on built-in function emulation for Intel GPUs
1617 on OS X. This is a work-around for a driver bug, and
1618 will be removed once the driver is updated:
1619 https://bugs.webkit.org/show_bug.cgi?id=97503
1621 This can be tested using the Khronos WebGL conformance
1622 suite, in particular:
1624 conformance/glsl/functions/glsl-function-dot.html
1625 conformance/glsl/functions/glsl-function-length.html
1626 conformance/glsl/functions/glsl-function-normalize.html
1627 conformance/glsl/functions/glsl-function-reflect.html
1629 Note that the faceforward built-in will still cause
1630 problems on Intel GPUs, but this would require an unnecessary
1631 change in the ANGLE project (remember, we're going to
1632 remove this code once the driver is fixed).
1634 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1635 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1636 Temporarily add "Intel" to the list of GPUs we do translation
1637 for in the shader compiler.
1639 2012-09-24 Peter Wang <peter.wang@torchmobile.com.cn>
1641 There is a mistake in InspectorProfilerAgent::enable(bool skipRecompile)
1642 https://bugs.webkit.org/show_bug.cgi?id=97450
1644 Reviewed by Yury Semikhatsky.
1646 The "InspectorProfilerAgent::enable()" should invokes "PageScriptDebugServer" in
1651 * inspector/InspectorProfilerAgent.cpp:
1652 (WebCore::PageProfilerAgent::recompileScript):
1653 (PageProfilerAgent):
1654 (WebCore::WorkerProfilerAgent::recompileScript):
1655 (WorkerProfilerAgent):
1656 (WebCore::InspectorProfilerAgent::disable):
1657 (WebCore::InspectorProfilerAgent::enable):
1658 * inspector/InspectorProfilerAgent.h:
1659 (InspectorProfilerAgent):
1661 2012-09-24 Patrick Gansterer <paroga@webkit.org>
1663 Remove String::operator+=()
1664 https://bugs.webkit.org/show_bug.cgi?id=96172
1666 Reviewed by Benjamin Poulain.
1668 Replace the last usage with String::append() in Gtk.
1670 * platform/gtk/GtkInputMethodFilter.cpp:
1671 (WebCore::GtkInputMethodFilter::handleCommit):
1673 2012-09-24 Mark Pilgrim <pilgrim@chromium.org>
1675 [Chromium][Mac] Remove loadFont from PlatformSupport
1676 https://bugs.webkit.org/show_bug.cgi?id=97360
1678 Reviewed by Adam Barth.
1680 Part of a refactoring series. See tracking bug 82948.
1682 * platform/chromium/PlatformSupport.h:
1684 * platform/graphics/chromium/CrossProcessFontLoading.mm:
1686 2012-09-24 Tony Chang <tony@chromium.org>
1688 Replace 2 uses of updateLogicalHeight with computeLogicalHeight
1689 https://bugs.webkit.org/show_bug.cgi?id=97486
1691 Reviewed by Ojan Vafai.
1693 More work for bug 96804. This is just a refactoring.
1695 No new tests, behavior should be the same as before.
1697 * rendering/RenderFlowThread.cpp:
1698 (WebCore::RenderFlowThread::computeLogicalHeight):
1699 * rendering/RenderFlowThread.h:
1700 * rendering/RenderMultiColumnFlowThread.cpp:
1701 (WebCore::RenderMultiColumnFlowThread::computeLogicalHeight):
1703 * rendering/RenderMultiColumnFlowThread.h:
1704 (RenderMultiColumnFlowThread):
1706 2012-09-21 Kenneth Russell <kbr@google.com>
1708 [V8] ArrayBuffer code should not pass a negative length to SetIndexedPropertiesToExternalArrayData()
1709 https://bugs.webkit.org/show_bug.cgi?id=96703
1711 Reviewed by Adam Barth.
1713 Check length arguments that may be passed to SetIndexedPropertiesToExternalArrayData.
1715 No tests because it is not guaranteed that buffers this large can actually be allocated.
1717 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1718 (WebCore::wrapArrayBufferView):
1719 (WebCore::constructWebGLArrayWithArrayBufferArgument):
1720 (WebCore::constructWebGLArray):
1722 2012-09-24 Antti Koivisto <antti@apple.com>
1724 Split stylesheet related code out from Document
1725 https://bugs.webkit.org/show_bug.cgi?id=97353
1727 Reviewed by Andreas Kling.
1729 Document is big and unwieldy. The code related to tracking active stylesheets can be factored out.
1731 The patch moves stylesheet upkeep, collection and invalidation code from Document to a separate
1732 DocumentStyleSheetCollection class. There are no functional changes.
1734 The usesLinkRules stylesheet feature bit and the related code is removed as no one was using it.
1736 * WebCore.xcodeproj/project.pbxproj:
1737 * css/SelectorChecker.cpp:
1738 (WebCore::SelectorChecker::checkOneSelector):
1739 * css/StyleResolver.cpp:
1740 (WebCore::StyleResolver::StyleResolver):
1741 (WebCore::StyleResolver::Features::Features):
1742 (WebCore::StyleResolver::Features::add):
1743 (WebCore::StyleResolver::Features::clear):
1744 (WebCore::StyleResolver::collectMatchingRulesForList):
1745 * css/StyleResolver.h:
1746 (WebCore::StyleResolver::usesBeforeAfterRules):
1749 (WebCore::Document::Document):
1750 (WebCore::Document::~Document):
1751 (WebCore::Document::setCompatibilityMode):
1752 (WebCore::Document::recalcStyle):
1754 (WebCore::Document::createStyleResolver):
1755 (WebCore::Document::seamlessParentUpdatedStylesheets):
1756 (WebCore::Document::didRemoveAllPendingStylesheet):
1757 (WebCore::Document::processHttpEquiv):
1758 (WebCore::Document::styleSheets):
1759 (WebCore::Document::preferredStylesheetSet):
1760 (WebCore::Document::selectedStylesheetSet):
1761 (WebCore::Document::setSelectedStylesheetSet):
1762 (WebCore::Document::styleResolverChanged):
1763 (WebCore::Document::reportMemoryUsage):
1764 (WebCore::Document::haveStylesheetsLoaded):
1768 (WebCore::Document::styleSheetCollection):
1769 (WebCore::Document::hasNodesWithPlaceholderStyle):
1770 (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet):
1771 (WebCore::Document::inStyleRecalc):
1772 * dom/DocumentStyleSheetCollection.cpp: Added.
1774 (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
1775 (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
1776 (WebCore::DocumentStyleSheetCollection::pageUserSheet):
1777 (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
1778 (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
1779 (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
1780 (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
1781 (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
1782 (WebCore::DocumentStyleSheetCollection::addUserSheet):
1783 (WebCore::DocumentStyleSheetCollection::removePendingSheet):
1784 (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
1785 (WebCore::DocumentStyleSheetCollection::removeStyleSheetCandidateNode):
1786 (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
1787 (WebCore::DocumentStyleSheetCollection::testAddedStyleSheetRequiresStyleRecalc):
1788 (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
1789 (WebCore::styleSheetsUseRemUnits):
1790 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1791 (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
1792 (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
1793 (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
1794 * dom/DocumentStyleSheetCollection.h: Added.
1796 (DocumentStyleSheetCollection):
1797 (WebCore::DocumentStyleSheetCollection::authorStyleSheets):
1798 (WebCore::DocumentStyleSheetCollection::documentUserSheets):
1799 (WebCore::DocumentStyleSheetCollection::needsUpdateActiveStylesheetsOnStyleRecalc):
1800 (WebCore::DocumentStyleSheetCollection::preferredStylesheetSetName):
1801 (WebCore::DocumentStyleSheetCollection::selectedStylesheetSetName):
1802 (WebCore::DocumentStyleSheetCollection::setPreferredStylesheetSetName):
1803 (WebCore::DocumentStyleSheetCollection::setSelectedStylesheetSetName):
1804 (WebCore::DocumentStyleSheetCollection::addPendingSheet):
1805 (WebCore::DocumentStyleSheetCollection::hasPendingSheets):
1806 (WebCore::DocumentStyleSheetCollection::usesSiblingRules):
1807 (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride):
1808 (WebCore::DocumentStyleSheetCollection::usesFirstLineRules):
1809 (WebCore::DocumentStyleSheetCollection::usesFirstLetterRules):
1810 (WebCore::DocumentStyleSheetCollection::setUsesFirstLetterRules):
1811 (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules):
1812 (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride):
1813 (WebCore::DocumentStyleSheetCollection::usesRemUnits):
1814 (WebCore::DocumentStyleSheetCollection::setUsesRemUnit):
1816 (WebCore::Element::recalcStyle):
1817 * dom/ProcessingInstruction.cpp:
1818 (WebCore::ProcessingInstruction::~ProcessingInstruction):
1819 (WebCore::ProcessingInstruction::checkStyleSheet):
1820 (WebCore::ProcessingInstruction::sheetLoaded):
1821 (WebCore::ProcessingInstruction::insertedInto):
1822 (WebCore::ProcessingInstruction::removedFrom):
1823 * dom/StyleElement.cpp:
1824 (WebCore::StyleElement::insertedIntoDocument):
1825 (WebCore::StyleElement::removedFromDocument):
1826 (WebCore::StyleElement::clearDocumentData):
1827 (WebCore::StyleElement::createSheet):
1828 (WebCore::StyleElement::sheetLoaded):
1829 (WebCore::StyleElement::startLoadingDynamicSheet):
1830 * html/HTMLLinkElement.cpp:
1831 (WebCore::HTMLLinkElement::~HTMLLinkElement):
1832 (WebCore::HTMLLinkElement::insertedInto):
1833 (WebCore::HTMLLinkElement::removedFrom):
1834 (WebCore::HTMLLinkElement::addPendingSheet):
1835 (WebCore::HTMLLinkElement::removePendingSheet):
1836 * html/HTMLQuoteElement.cpp:
1837 (WebCore::HTMLQuoteElement::insertedInto):
1838 * html/HTMLViewSourceDocument.cpp:
1839 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
1840 * mathml/MathMLMathElement.cpp:
1841 (WebCore::MathMLMathElement::insertedInto):
1843 (WebCore::Page::userStyleSheetLocationChanged):
1844 * page/PageGroup.cpp:
1845 (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
1846 * rendering/RenderBR.cpp:
1847 (WebCore::RenderBR::lineHeight):
1848 * rendering/RenderBlock.cpp:
1849 (WebCore::RenderBlock::styleDidChange):
1850 (WebCore::RenderBlock::splitBlocks):
1851 (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1852 (WebCore::RenderBlock::lineHeight):
1853 (WebCore::RenderBlock::updateFirstLetter):
1854 * rendering/RenderInline.cpp:
1855 (WebCore::RenderInline::styleDidChange):
1856 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
1857 (WebCore::RenderInline::addChildIgnoringContinuation):
1858 (WebCore::RenderInline::splitInlines):
1859 (WebCore::RenderInline::lineHeight):
1860 * rendering/RenderObject.cpp:
1861 (WebCore::RenderObject::uncachedFirstLineStyle):
1862 (WebCore::RenderObject::firstLineStyleSlowCase):
1863 * rendering/RenderObject.h:
1864 (WebCore::RenderObject::firstLineStyle):
1865 * rendering/RenderObjectChildList.cpp:
1866 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1867 * rendering/RenderTableRow.cpp:
1868 (WebCore::RenderTableRow::updateBeforeAndAfterContent):
1869 * rendering/RootInlineBox.cpp:
1870 (WebCore::RootInlineBox::verticalPositionForBox):
1872 2012-09-24 Otto Derek Cheung <otcheung@rim.com>
1874 [BlackBerry] Reverting implementation for 407 error pages
1875 https://bugs.webkit.org/show_bug.cgi?id=97455
1877 Reviewed by Rob Buis.
1879 Revert "[BlackBerry] Reverting implementation for 407 error pages"
1880 This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.
1882 This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
1883 due to dependency issues.
1885 * PlatformBlackBerry.cmake:
1886 * platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
1887 * platform/blackberry/AuthenticationChallengeManager.h:
1888 * platform/blackberry/PageClientBlackBerry.h:
1889 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1890 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1891 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1892 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
1893 (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1894 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1895 (MediaPlayerPrivate):
1896 * platform/network/blackberry/NetworkJob.cpp:
1897 (WebCore::NetworkJob::NetworkJob):
1898 (WebCore::NetworkJob::handleNotifyStatusReceived):
1899 (WebCore::NetworkJob::notifyAuthReceived):
1900 (WebCore::NetworkJob::handleNotifyClose):
1901 (WebCore::NetworkJob::sendRequestWithCredentials):
1902 (WebCore::NetworkJob::notifyChallengeResult):
1903 * platform/network/blackberry/NetworkJob.h:
1906 2012-09-24 Chris Rogers <crogers@google.com>
1908 [REGRESSION] Layout Test webaudio/biquad-getFrequencyResponse.html is failing
1909 https://bugs.webkit.org/show_bug.cgi?id=97439
1911 Reviewed by Kenneth Russell.
1913 Fixes uninitialized member variable.
1915 This should fix flaky failing test: webaudio/biquad-getFrequencyResponse.html
1917 * Modules/webaudio/BiquadProcessor.cpp:
1918 (WebCore::BiquadProcessor::BiquadProcessor):
1920 2012-09-24 Tony Chang <tony@chromium.org>
1922 flex-grow should be 1 when omitted from flex shorthand
1923 https://bugs.webkit.org/show_bug.cgi?id=97480
1925 Reviewed by Ojan Vafai.
1927 We were using 0, based on an outdated version of the spec.
1929 Tests: css3/flexbox/flex-property-parsing.html
1930 css3/flexbox/flex-algorithm.html: New test case.
1932 * css/CSSParser.cpp:
1933 (WebCore::CSSParser::parseFlex):
1935 2012-09-24 Benjamin Poulain <benjamin@webkit.org>
1937 Add support for query encoding to WTFURL
1938 https://bugs.webkit.org/show_bug.cgi?id=97422
1940 Reviewed by Adam Barth.
1942 Add the Charset conversion on WebCore side.
1944 * platform/KURLWTFURL.cpp:
1945 (WebCore::KURL::KURL):
1947 (WebCore::CharsetConverter::CharsetConverter):
1948 * platform/mac/KURLMac.mm:
1949 (WebCore::KURL::KURL):
1951 2012-09-24 Benjamin Poulain <benjamin@webkit.org>
1953 Integrate most of GoogleURL in WTFURL
1954 https://bugs.webkit.org/show_bug.cgi?id=97405
1956 Reviewed by Adam Barth.
1958 Loosen KURLWTFURL to be able to run most tests in Debug.
1960 * platform/KURLWTFURL.cpp:
1961 (WebCore::KURL::KURL):
1962 (WebCore::KURL::hasPort):
1963 (WebCore::KURL::user):
1964 (WebCore::KURL::pass):
1965 (WebCore::KURL::hasPath):
1966 (WebCore::KURL::path):
1967 (WebCore::KURL::query):
1968 (WebCore::KURL::fragmentIdentifier):
1969 (WebCore::KURL::fileSystemPath):
1971 2012-09-24 Hans Muller <hmuller@adobe.com>
1973 [CSS Exclusions] ExclusionShape API should use logical coordinates for input/output
1974 https://bugs.webkit.org/show_bug.cgi?id=96156
1976 Reviewed by Dirk Schulze.
1978 Correct how ExclusionShapes deal with logical coordinates and enable
1979 shape-inside exclusion layout for vertical writing-modes.
1981 BasicShape's are defined in physical cooordinates, incoming line and box
1982 dimensions are logical coordinates, and the ExclusionShape internals assume
1983 that lines are aligned with the Y axis. The createExclusionShape() method
1984 is responsible for converting the BasicShape to the internal coordinate
1985 system when the writing-mode is vertical. Similarly, the getInclude,ExcludedIntervals()
1986 methods are responsible for converting their logical line parameters to Y
1987 values in the internal coordinate system. The min,maxYForLogicalLine()
1988 methods do the conversion, based on the WritingMode the ExclusionShape
1989 was created with. The getInclude,ExcludedIntervals() methods return the
1990 logical left and right edges of line segments. No transformation is needed for this.
1992 The ExclusionShape's internal coordinate system is essentially the
1993 "logical" one, except that top/bottom always map to Y, no matter what
1994 the writing-mode is. This is just to simplify writing geometrical shape
1995 algorithms, notably the complex ones for polygons. The bug report includes a
1996 pair of diagrams that clarify how internal coordinates are related to logical
1997 and physical coordinates.
1999 Test: fast/exclusions/shape-inside/shape-inside-vertical-text.html
2001 * rendering/ExclusionRectangle.cpp:
2002 (WebCore::ExclusionRectangle::getExcludedIntervals): rename more accurately reflects return value
2003 (WebCore::ExclusionRectangle::getIncludedIntervals): rename for consistency with "excluded" version
2004 * rendering/ExclusionRectangle.h:
2005 * rendering/ExclusionShape.cpp:
2007 (WebCore::ExclusionShape::createExclusionShape):
2008 * rendering/ExclusionShape.h:
2010 (WebCore::LineSegment::LineSegment): relocated from WrapShapeInfo.h
2013 (WebCore::ExclusionShape::minYForLogicalLine):
2014 (WebCore::ExclusionShape::maxYForLogicalLine):
2015 (WebCore::ExclusionShape::internalToLogicalBoundingBox):
2016 * rendering/WrapShapeInfo.cpp:
2017 (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
2018 (WebCore::WrapShapeInfo::computeShapeSize): pass writingMode to createExclusionShape()
2019 (WebCore::WrapShapeInfo::computeSegmentsForLine): removed short-circuit for vertical writing-modes
2020 * rendering/WrapShapeInfo.h:
2023 2012-09-24 Tony Chang <tony@chromium.org>
2025 Replace RenderMeter::updateLogicalHeight to RenderMeter::computeLogicalHeight
2026 https://bugs.webkit.org/show_bug.cgi?id=97475
2028 Reviewed by Ojan Vafai.
2030 Using RenderMeter::computeLogicalHeight is part of bug 96804.
2031 Also fix some code to be vertical writing mode aware. This doesn't actually cause
2032 a behavioral difference because we use percentage heights/widths which don't depend on
2033 updateLogicalWidth or computeLogicalHeight. You can still see bugs if you try to set
2034 the min-width on a <meter> node in a vertical writing mode.
2036 No new tests, no behavioral changes.
2038 * rendering/RenderMeter.cpp:
2039 (WebCore::RenderMeter::updateLogicalWidth): Make vertical writing mode aware.
2040 (WebCore::RenderMeter::computeLogicalHeight): Switch from updateLogicalHeight and make vertical writing mode aware.
2041 * rendering/RenderMeter.h:
2044 2012-09-24 Dimitri Glazkov <dglazkov@chromium.org>
2046 Remove unbaked support for :scope pseudo-class.
2047 https://bugs.webkit.org/show_bug.cgi?id=97467
2049 Reviewed by Antti Koivisto.
2051 It turns out, the Selectors 4 require ":scope" to match contextual reference element set, which would be the root node in querySelector:
2052 http://dev.w3.org/csswg/selectors4/#the-scope-pseudo
2054 Right now, we simply make ":scope" equivalent to ":root", which is not correct. Let's remove the partial implementation until we have
2055 time/energy to fully implement it.
2057 No new tests, removing half-baked feature.
2059 * css/CSSSelector.cpp:
2060 (WebCore::CSSSelector::pseudoId): Removed all mentions of PseudoScope
2061 (WebCore::nameToPseudoTypeMap): Ditto.
2062 (WebCore::CSSSelector::extractPseudoType): Ditto.
2063 * css/CSSSelector.h: Ditto.
2064 * css/SelectorChecker.cpp:
2065 (WebCore::SelectorChecker::checkOneSelector): Ditto.
2067 2012-09-24 Ryosuke Niwa <rniwa@webkit.org>
2069 suspend/resumeWidgetHierarchyUpdates should be a RAII object
2070 https://bugs.webkit.org/show_bug.cgi?id=96706
2072 Reviewed by Simon Fraser.
2074 Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.
2076 * WebCore.exp.in: Export new symbols.
2077 * dom/ContainerNode.cpp:
2078 (WebCore::ContainerNode::removeChild):
2079 (WebCore::ContainerNode::removeChildren):
2081 (WebCore::Document::recalcStyle):
2083 (WebCore::Element::attach):
2084 (WebCore::Element::detach):
2085 * page/mac/EventHandlerMac.mm:
2086 (WebCore::EventHandler::passMouseDownEventToWidget):
2087 * rendering/RenderWidget.cpp:
2089 (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
2090 (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
2091 (WebCore::moveWidgetToParentSoon):
2092 * rendering/RenderWidget.h:
2093 (WidgetHierarchyUpdatesSuspensionScope):
2094 (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
2095 (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
2096 (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
2097 (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
2101 2012-09-24 Otto Derek Cheung <otcheung@rim.com>
2103 [BlackBerry] Reverting implementation for 407 error pages
2104 https://bugs.webkit.org/show_bug.cgi?id=97455
2106 Reviewed by Rob Buis.
2108 Revert "[BlackBerry] Show custom error page when 407 is received"
2109 This reverts commit e6d14529428fe47916fcb997528095b8acad2f2b.
2111 * platform/network/blackberry/NetworkJob.cpp:
2112 (WebCore::NetworkJob::handleNotifyStatusReceived):
2113 (WebCore::NetworkJob::notifyAuthReceived):
2114 (WebCore::NetworkJob::sendRequestWithCredentials):
2116 2012-09-24 Sheriff Bot <webkit.review.bot@gmail.com>
2118 Unreviewed, rolling out r129388.
2119 http://trac.webkit.org/changeset/129388
2120 https://bugs.webkit.org/show_bug.cgi?id=97477
2122 Caused an assertion in a WebKit2 unit test (Requested by
2126 * loader/FrameLoader.cpp:
2127 (WebCore::FrameLoader::didBeginDocument):
2128 * loader/SubresourceLoader.cpp:
2129 (WebCore::SubresourceLoader::willSendRequest):
2130 * loader/cache/CachedImage.cpp:
2131 * loader/cache/CachedImage.h:
2132 (WebCore::CachedImage::stillNeedsLoad):
2134 * loader/cache/CachedResource.cpp:
2135 (WebCore::CachedResource::didAddClient):
2136 * loader/cache/CachedResource.h:
2138 * loader/cache/CachedResourceLoader.cpp:
2139 (WebCore::CachedResourceLoader::CachedResourceLoader):
2140 (WebCore::CachedResourceLoader::requestImage):
2141 (WebCore::CachedResourceLoader::canRequest):
2142 (WebCore::CachedResourceLoader::requestResource):
2143 (WebCore::CachedResourceLoader::revalidateResource):
2144 (WebCore::CachedResourceLoader::loadResource):
2145 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2146 (WebCore::CachedResourceLoader::setAutoLoadImages):
2147 * loader/cache/CachedResourceLoader.h:
2148 (CachedResourceLoader):
2149 * page/Settings.cpp:
2150 (WebCore::setLoadsImagesAutomaticallyInAllFrames):
2151 (WebCore::Settings::Settings):
2152 (WebCore::Settings::setLoadsImagesAutomatically):
2153 (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
2154 (WebCore::Settings::setImagesEnabled):
2157 * testing/InternalSettings.cpp:
2158 (WebCore::InternalSettings::Backup::Backup):
2159 (WebCore::InternalSettings::Backup::restoreTo):
2160 * testing/InternalSettings.h:
2163 * testing/InternalSettings.idl:
2165 2012-09-24 Erik Arvidsson <arv@chromium.org>
2168 https://bugs.webkit.org/show_bug.cgi?id=73885
2170 Reviewed by Ojan Vafai.
2172 This adds the DOM 4 remove method.
2174 http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-childnode-remove
2176 The remove method removes the node from its parent if it has a parent.
2178 Tests: fast/dom/Comment/remove.html
2179 fast/dom/DocumentType/remove.html
2180 fast/dom/Element/remove.html
2181 fast/dom/Text/remove.html
2183 * dom/CharacterData.idl:
2184 * dom/DocumentType.idl:
2187 (WebCore::Node::remove): The spec says to do nothing if the node has no parent.
2188 * html/parser/HTMLTreeBuilder.cpp:
2189 (WebCore::HTMLTreeBuilder::processStartTagForInBody): Cleanup.
2190 * html/track/TextTrackCue.cpp:
2191 (WebCore::TextTrackCue::removeDisplayTree): No need to check parenNode twice.
2193 2012-09-24 Tommy Widenflycht <tommyw@google.com>
2195 MediaStream API: Fix the incorrectly spelled RTCPeerConnection::onnegotiationneeded callback
2196 https://bugs.webkit.org/show_bug.cgi?id=97456
2198 Reviewed by Adam Barth.
2200 Renamed onnegotationneeded to onnegotiationneeded.
2202 Existing test updated.
2204 * Modules/mediastream/RTCPeerConnection.cpp:
2205 (WebCore::RTCPeerConnection::negotiationNeeded):
2206 * Modules/mediastream/RTCPeerConnection.h:
2207 (RTCPeerConnection):
2208 * Modules/mediastream/RTCPeerConnection.idl:
2212 2012-09-24 Peter Beverloo <peter@chromium.org>
2214 Android's mock scrollbars shows up as a difference in layout test results
2215 https://bugs.webkit.org/show_bug.cgi?id=96382
2217 Reviewed by Adam Barth.
2219 Remove the exceptions made for layout tests in Android's scrollbar theme.
2220 This will make our actual scrollbars show up in layout test pixel results,
2221 bringing the tests closer to what we actually ship.
2223 An important difference with other platforms is that scrollbars do not
2224 take any width on Android, they're rendered on top of the content. Therefore
2225 each test that has a visible scrollbar does not just need a new pixel
2226 result, but will also need a new text result. This will be handled as part
2227 of a larger rebaselining process.
2229 Will be exercised by every layout test that has a scrollbar.
2231 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2232 (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
2233 (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
2234 (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
2235 * platform/chromium/ScrollbarThemeChromiumAndroid.h:
2236 (ScrollbarThemeChromiumAndroid):
2238 2012-09-24 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
2240 [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
2241 https://bugs.webkit.org/show_bug.cgi?id=96362
2243 Reviewed by Rob Buis.
2245 Fix a mistake of the commit 11fdc73c7c74bbd736ed4160248ff59636a01864
2246 Trunk has been changed during reviewing that patch.
2248 No new tests, this is to correct a build error.
2250 * platform/network/blackberry/CredentialBackingStore.cpp:
2251 (WebCore::CredentialBackingStore::getProtectionSpace):
2253 2012-09-24 Dan Bernstein <mitz@apple.com>
2255 Reverted r129176, the fix for <http://webkit.org/b/97269>, because it introduced a
2256 discrepancy between line breaking and max width computation.
2258 Rubber-stamped by Anders Carlsson.
2260 * platform/graphics/mac/ComplexTextController.cpp:
2261 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2263 2012-09-24 Bo Liu <boliu@chromium.org>
2265 Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
2266 https://bugs.webkit.org/show_bug.cgi?id=97055
2268 Reviewed by Adam Barth.
2270 Relanding 128780, 128676, 128645. Was reverted in 128914 due to
2271 performance regression in Chromium.
2273 New changes in addition to previously reverted patches:
2275 Refactored CachedResource::requestResource, loadResource, and
2276 revalidateResource. Moved CachedResource::load method to end of
2277 requestResource so there is one place where load is called for all
2280 Added a enum parameter for requestResource and
2281 determineRevalidationPolicy so that FrameLoaderClient::allowImage call
2282 do not need to be called multiple times.
2284 Removed CachedImage::load call in requestImage so it is not called
2287 Removed unnecessary Frame.h includes in CachedResource and
2290 Removed dead load() method declaration in CachedImage.
2292 Updated text expectation for two image-permissions tests to reflect
2293 the removed calls to allowImage.
2295 Tests: fast/loader/display-image-unset-allows-cached-image-load.html
2296 fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
2297 fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
2300 * loader/FrameLoader.cpp:
2301 (WebCore::FrameLoader::didBeginDocument):
2302 * loader/SubresourceLoader.cpp:
2303 (WebCore::SubresourceLoader::willSendRequest):
2304 * loader/cache/CachedImage.cpp:
2305 * loader/cache/CachedImage.h:
2306 * loader/cache/CachedResource.cpp:
2307 (WebCore::CachedResource::didAddClient):
2308 * loader/cache/CachedResource.h:
2310 (WebCore::CachedResource::stillNeedsLoad):
2311 * loader/cache/CachedResourceLoader.cpp:
2312 (WebCore::CachedResourceLoader::CachedResourceLoader):
2313 (WebCore::CachedResourceLoader::requestImage):
2314 (WebCore::CachedResourceLoader::canRequest):
2315 (WebCore::CachedResourceLoader::requestResource):
2316 (WebCore::CachedResourceLoader::revalidateResource):
2317 (WebCore::CachedResourceLoader::loadResource):
2318 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2319 (WebCore::CachedResourceLoader::setAutoLoadImages):
2321 (WebCore::CachedResourceLoader::setImagesEnabled):
2322 (WebCore::CachedResourceLoader::clientDefersImage):
2323 (WebCore::CachedResourceLoader::shouldDeferImageLoad):
2324 (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
2325 * loader/cache/CachedResourceLoader.h:
2326 (CachedResourceLoader):
2327 * page/Settings.cpp:
2328 (WebCore::setImageLoadingSettings):
2329 (WebCore::Settings::Settings):
2330 (WebCore::Settings::setLoadsImagesAutomatically):
2331 (WebCore::Settings::imageLoadingSettingsTimerFired):
2332 (WebCore::Settings::setImagesEnabled):
2335 * testing/InternalSettings.cpp:
2336 (WebCore::InternalSettings::Backup::Backup):
2337 (WebCore::InternalSettings::Backup::restoreTo):
2338 (WebCore::InternalSettings::setImagesEnabled):
2340 * testing/InternalSettings.h:
2343 * testing/InternalSettings.idl:
2345 2012-09-24 Joone Hur <joone.hur@intel.com>, Gustavo Noronha Silva <gustavo.noronha@collabora.com>
2347 [GTK] Implement GraphicsLayer using Clutter
2348 https://bugs.webkit.org/show_bug.cgi?id=73767
2350 Reviewed by Martin Robinson.
2352 This patch is needed for enabling Accelerated Compositing(Clutter backend)
2353 with the patches submitted in bug 92045 and 91940.
2355 No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
2356 compositing and 3D transforms.
2358 * GNUmakefile.list.am:
2359 * platform/clutter/GRefPtrClutter.cpp: Removed.
2360 * platform/clutter/GRefPtrClutter.h: Removed.
2361 * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
2363 (PlatformClutterLayerClient):
2364 (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
2365 * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to
2366 TransformationMatrix.
2368 (WebCore::TransformationMatrix::operator CoglMatrix):
2369 * platform/graphics/transforms/TransformationMatrix.h:
2370 (TransformationMatrix):
2372 2012-09-24 David Grogan <dgrogan@chromium.org>
2375 https://bugs.webkit.org/show_bug.cgi?id=96548
2377 Reviewed by Adam Barth.
2379 We are largely compatible with the FF implementation and the w3c test
2380 suite submitted by MS. The w3c test suite doesn't yet check
2381 for lack of prefix; this is mostly to signal to devs that we think our
2382 implementation is stable.
2384 This patch uses the new FeatureObserver to get data about prefixed
2385 vs unprefixed usage.
2387 Tests: storage/indexeddb/unprefix-workers.html
2388 storage/indexeddb/unprefix.html
2390 * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
2391 (WebCore::DOMWindowIndexedDatabase::indexedDB):
2392 * Modules/indexeddb/DOMWindowIndexedDatabase.h:
2393 (DOMWindowIndexedDatabase):
2394 * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
2395 * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
2396 (WebCore::WorkerContextIndexedDatabase::indexedDB):
2397 * Modules/indexeddb/WorkerContextIndexedDatabase.h:
2398 (WorkerContextIndexedDatabase):
2399 * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
2400 * bindings/generic/RuntimeEnabledFeatures.h:
2401 Making the auxiliary objects RuntimeEnabled didn't make much sense as
2402 they are useless without the factory, so always enable them.
2404 (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
2405 * bindings/scripts/CodeGeneratorGObject.pm:
2407 * page/FeatureObserver.h:
2409 2012-09-24 Andrey Adaikin <aandrey@chromium.org>
2411 Web Inspector: [WebGL] First step towards 2D canvas instrumentation in injected script
2412 https://bugs.webkit.org/show_bug.cgi?id=96746
2414 Reviewed by Pavel Feldman.
2416 First step towards the 2D canvas instrumentation from the WebGL injected script module side.
2417 We trace and save all calls that affect the 2D canvas context state and it's resources (Gradient and Pattern)
2418 so that we could replay the context and resources states later.
2419 The 2D canvas context state consists of:
2420 - current transformation matrix
2421 - current default path
2422 - current clipping region (affected by the "clip" command)
2423 - current values of the context attributes (like strokeStyle, fillStyle, etc.)
2424 - a stack of saved drawing states (affected by the "save" and "restore" commands)
2426 * inspector/InjectedScriptCanvasModuleSource.js:
2429 2012-09-24 Andrey Adaikin <aandrey@chromium.org>
2431 Web Inspector: [TextEditor] conditional breakpoint popup not showing up the first time
2432 https://bugs.webkit.org/show_bug.cgi?id=97442
2434 Reviewed by Pavel Feldman.
2436 1) The conditional breakpoint popup may not show up the first time we click on the gutter.
2437 This was the case because the popup decoration element would be deleted from the line while
2438 it was being highlighted and appended afterwards. Now we do not remove decorations from the
2439 DOM while highlighting.
2441 2) Also the popup will close itself on any mouse click event, even if it's targeted to the
2442 input box itself. This was due to pointer-events: none; CSS style for the parent element.
2443 Now we just override this style for the input box.
2445 * inspector/front-end/DefaultTextEditor.js:
2446 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2447 (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
2448 (WebInspector.TextEditorMainPanel.prototype._insertTextNodeBefore):
2449 * inspector/front-end/inspector.css:
2450 (.source-frame-breakpoint-condition):
2452 2012-09-24 Andrey Adaikin <aandrey@chromium.org>
2454 Web Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable command
2455 https://bugs.webkit.org/show_bug.cgi?id=97331
2457 Reviewed by Yury Semikhatsky.
2459 We should set CanvasAgent in InstrumentingAgents from enable() command and remove from disable(), instead of doing this in constructor and destructor.
2461 * inspector/InspectorCanvasAgent.cpp:
2462 (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2463 (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
2464 (WebCore::InspectorCanvasAgent::restore):
2465 (WebCore::InspectorCanvasAgent::enable):
2466 (WebCore::InspectorCanvasAgent::disable):
2467 * inspector/InspectorCanvasAgent.h:
2468 (InspectorCanvasAgent):
2469 * inspector/InspectorCanvasInstrumentation.h:
2470 (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
2471 (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2473 2012-09-24 Patrick Gansterer <paroga@webkit.org>
2475 Remove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
2476 https://bugs.webkit.org/show_bug.cgi?id=97412
2478 Reviewed by Adam Barth.
2480 * css/StylePropertySet.cpp: Removed useless define.
2482 2012-09-20 Emil A Eklund <eae@chromium.org>
2484 snapToSize rounds the incorrectly for negative locations
2485 https://bugs.webkit.org/show_bug.cgi?id=97265
2487 Reviewed by Eric Seidel.
2489 Change snapSizeToPixel to preserve sign for location which
2492 Test: fast/sub-pixel/snap-negative-location.html
2494 * platform/FractionalLayoutUnit.h:
2495 (WebCore::snapSizeToPixel):
2497 2012-09-24 Jonathan Liu <net147@gmail.com>
2499 Use unsigned char for bitfield instead of unsigned.
2500 https://bugs.webkit.org/show_bug.cgi?id=97447
2502 Reviewed by Andreas Kling.
2504 Not all compilers will pad an unsigned bitfield to the smallest size.
2505 Use unsigned char instead of unsigned to reduce padding for compilers
2506 that pad to the underlying type.
2508 No new tests. There is already a compile-time assertion.
2511 (SameSizeAsCSSRule):
2515 2012-09-24 Peter Rybin <peter.rybin@gmail.com>
2517 Web Inspector: don't allow exception in front-end when expanding function scope
2518 https://bugs.webkit.org/show_bug.cgi?id=97346
2520 Reviewed by Yury Semikhatsky.
2522 A missing guard condition is added.
2524 * inspector/front-end/ObjectPropertiesSection.js:
2525 (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
2526 (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
2528 2012-09-24 Arvid Nilsson <anilsson@rim.com>
2530 [BlackBerry] Add cookie database API
2531 https://bugs.webkit.org/show_bug.cgi?id=97102
2533 Reviewed by Antonio Gomes.
2535 Add a CookieManager method that takes a list of strings to parse
2536 instead of just one string. Expose CookieParser::parseOneCookie.
2538 Reviewed internally by Otto D. Cheung.
2540 No change in behavior, no new tests.
2542 * platform/blackberry/CookieManager.cpp:
2543 (WebCore::CookieManager::setCookies):
2545 * platform/blackberry/CookieManager.h:
2546 * platform/blackberry/CookieParser.cpp:
2547 (WebCore::CookieParser::parseOneCookie):
2549 * platform/blackberry/CookieParser.h:
2552 2012-09-24 Vsevolod Vlasov <vsevik@chromium.org>
2554 Web Inspector: Open resource dialog has too many false positive matches.
2555 https://bugs.webkit.org/show_bug.cgi?id=97332
2557 Reviewed by Alexander Pavlov.
2559 Improved open resource dialog filtering to make the amount of false
2560 positive search results less.
2562 * inspector/front-end/FilteredItemSelectionDialog.js:
2563 (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
2564 (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
2565 (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
2567 2012-09-24 Andrey Adaikin <aandrey@chromium.org>
2569 Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
2570 https://bugs.webkit.org/show_bug.cgi?id=97203
2572 Reviewed by Yury Semikhatsky.
2574 Implements wrapping a 2D canvas context through the injected canvas module script facility.
2576 * bindings/js/JSHTMLCanvasElementCustom.cpp:
2577 (WebCore::JSHTMLCanvasElement::getContext):
2578 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2579 (WebCore::V8HTMLCanvasElement::getContextCallback):
2580 * inspector/InjectedScriptCanvasModule.cpp:
2581 (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
2583 (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
2584 (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
2585 * inspector/InjectedScriptCanvasModule.h:
2586 (InjectedScriptCanvasModule):
2587 * inspector/InspectorCanvasAgent.cpp:
2588 (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
2590 * inspector/InspectorCanvasAgent.h:
2591 (InspectorCanvasAgent):
2592 * inspector/InspectorCanvasInstrumentation.h:
2593 (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
2595 * inspector/InspectorInstrumentation.h:
2596 (InspectorInstrumentation):
2598 2012-09-24 Pavel Feldman <pfeldman@chromium.org>
2600 Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
2601 https://bugs.webkit.org/show_bug.cgi?id=97446
2603 Reviewed by Alexander Pavlov.
2605 Added 0 check on frame view.
2607 * inspector/InspectorOverlay.cpp:
2608 (WebCore::InspectorOverlay::update):
2610 2012-09-21 Alexander Pavlov <apavlov@chromium.org>
2612 Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
2613 https://bugs.webkit.org/show_bug.cgi?id=97249
2615 Reviewed by Yury Semikhatsky.
2617 Fix regression from r125871.
2619 * inspector/front-end/InspectorFrontendAPI.js:
2620 (InspectorFrontendAPI.enterInspectElementMode):
2621 * inspector/front-end/inspector.js:
2622 (WebInspector._createGlobalStatusBarItems):
2623 (WebInspector.documentKeyDown):
2625 2012-09-24 Alexander Pavlov <apavlov@chromium.org>
2627 Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
2628 https://bugs.webkit.org/show_bug.cgi?id=97440
2630 Reviewed by Yury Semikhatsky.
2632 Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.
2634 * inspector/InspectorPageAgent.cpp:
2635 (WebCore::InspectorPageAgent::restore):
2636 * inspector/front-end/SettingsScreen.js:
2637 (WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
2638 (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
2639 (WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
2640 * inspector/front-end/UserAgentSupport.js:
2641 (WebInspector.UserAgentSupport):
2642 (WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
2643 (WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
2644 (WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
2645 * inspector/front-end/externs.js:
2647 2012-09-24 Vivek Galatage <vivekgalatage@gmail.com>
2649 Web Inspector: implement testing harness for pure protocol tests.
2650 https://bugs.webkit.org/show_bug.cgi?id=90675
2652 Reviewed by Yury Semikhatsky.
2654 Implementing the testing harness as the APIs of Internals object not
2655 only reduced platform specific patching of DRTs but also minimized the
2656 the effort required to open up the new dummy inspector Frontend.
2658 The openDummyInspectorFrontend method will return the handle to newly
2659 created DOMWindow. This DOMWindow object can be utilized inside the test
2660 case to communicate using postMessage WebAPI.
2662 The newly created DOMWindow will host the protocol-test.html which
2663 will seed the necessary JS libraries to communicate with the
2666 Test: inspector-protocol/css-getSupportedCSSProperties.html
2670 * inspector/InspectorClient.h:
2672 * testing/Internals.cpp:
2673 (InspectorFrontendClientDummy):
2674 (WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
2676 (WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
2677 (InspectorFrontendChannelDummy):
2678 (WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
2679 (WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
2680 (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
2681 (WebCore::Internals::consoleMessageArgumentCounts):
2682 (WebCore::Internals::openDummyInspectorFrontend):
2683 (WebCore::Internals::closeDummyInspectorFrontend):
2684 * testing/Internals.h:
2687 * testing/Internals.idl:
2689 2012-09-24 Keishi Hattori <keishi@webkit.org>
2691 REGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
2692 https://bugs.webkit.org/show_bug.cgi?id=97183
2694 Reviewed by Kent Tamura.
2696 Fixing bug calendar-picker.html. The page popup behaves fine because
2697 this code is only necessary in calendar-picker.html where the focus can
2698 move outside of the picker because we are just using an iframe.
2700 No new tests. Added tests to calendar-picker-key-operations.html.
2702 * Resources/pagepopups/calendarPicker.js:
2703 (YearMonthController.prototype.attachTo):
2704 (CalendarPicker.prototype._handleBodyKeyDown):
2706 2012-09-24 Andrey Kosyakov <caseq@chromium.org>
2708 Unreviewed follow-up to r129336 -- fixed closure compiler warnings.
2710 * inspector/front-end/HAREntry.js:
2711 * inspector/front-end/TimelineModel.js:
2713 2012-09-24 Andrey Adaikin <aandrey@chromium.org>
2715 Web Inspector: [TextEditor] Line numbers out of sync after closing breakpoint condition editor
2716 https://bugs.webkit.org/show_bug.cgi?id=96510
2718 Reviewed by Vsevolod Vlasov.
2720 Sync line heights on adding/removing decorations.
2722 * inspector/front-end/DefaultTextEditor.js:
2723 (WebInspector.TextEditorGutterChunk):
2724 (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
2725 (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
2726 (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2727 (WebInspector.TextEditorGutterChunk.prototype.get height):
2728 (WebInspector.TextEditorGutterChunk.prototype._createRow):
2729 (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2730 (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
2731 (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
2733 2012-09-21 Andrey Kosyakov <caseq@chromium.org>
2735 Web Inspector: support saving HAR with resources content
2736 https://bugs.webkit.org/show_bug.cgi?id=97341
2738 Reviewed by Vsevolod Vlasov.
2740 - add WebInspector.HARWriter that writes HAR with content to a stream;
2741 - replace Save all as HAR with Save all with Content as HAR in network's panel context menu;
2742 - remove entries for copying/saving of individual request items to reduce clutter in context menu;
2743 - a drive-by fix of an exception when invoking context menu not on a network item;
2745 Test: http/tests/inspector/network/har-content.html
2747 * English.lproj/localizedStrings.js:
2748 * inspector/front-end/FileUtils.js:
2749 * inspector/front-end/HAREntry.js:
2750 (WebInspector.HAREntry.prototype._buildPostData):
2751 (WebInspector.HARLog.prototype.build):
2752 (WebInspector.HARLog.prototype._creator):
2753 (WebInspector.HARWriter):
2754 (WebInspector.HARWriter.prototype.write):
2755 (WebInspector.HARWriter.prototype._onContentAvailable):
2756 (WebInspector.HARWriter.prototype._beginWrite):
2757 (WebInspector.HARWriter.prototype._writeNextChunk):
2758 * inspector/front-end/NetworkPanel.js:
2759 (WebInspector.NetworkLogView.prototype.get statusBarItems):
2760 (WebInspector.NetworkLogView.prototype._createStatusBarItems):
2761 (WebInspector.NetworkLogView.prototype._contextMenu):
2762 (WebInspector.NetworkLogView.prototype._exportAll.openCallback):
2763 (WebInspector.NetworkLogView.prototype._exportAll):
2765 2012-09-24 Nico Weber <thakis@chromium.org>
2767 [chromium] Remove BitLockerSkia. It's apparently not used.
2768 https://bugs.webkit.org/show_bug.cgi?id=97434
2770 Reviewed by Kent Tamura.
2772 * platform/graphics/skia/BitLockerSkia.cpp: Removed.
2773 * platform/graphics/skia/BitLockerSkia.h: Removed.
2775 2012-09-24 Matt Falkenhagen <falken@chromium.org>
2777 Skeleton implementation of dialog.showModal()
2778 https://bugs.webkit.org/show_bug.cgi?id=97425
2780 Reviewed by Kent Tamura.
2782 This adds a basic implementation of showModal(), so it later can be
2783 used to test the top layer, once it is implemented. The main features
2784 of showModal(), modality and the top layer, are not yet implemented.
2786 Test: fast/dom/HTMLDialogElement/dialog-show-modal.html
2788 * html/HTMLDialogElement.cpp:
2789 (WebCore::HTMLDialogElement::showModal): The same as show(), but throws an error in the cases specified in the spec.
2791 * html/HTMLDialogElement.h:
2792 (HTMLDialogElement):
2793 * html/HTMLDialogElement.idl:
2795 2012-09-24 Ryuan Choi <ryuan.choi@samsung.com>
2797 [EFL] Regression after r129328
2798 https://bugs.webkit.org/show_bug.cgi?id=97429
2800 Unreviewed, rolling out r129328.
2802 * platform/efl/RenderThemeEfl.cpp:
2803 (WebCore::RenderTheme::themeForPage):
2805 2012-09-23 Ryuan Choi <ryuan.choi@samsung.com>
2807 [EFL] Duplicated RenderThemeEfl creation for same page
2808 https://bugs.webkit.org/show_bug.cgi?id=88391
2810 Reviewed by Gyuyoung Kim.
2812 Other ports return one or two RenderTheme regardless of page.
2813 But, WebKit/Efl can create different theme for each page and
2814 themeForPage creates new RenderTheme whenever it is called with page.
2815 So more than one RenderTheme can be created for a page.
2817 This patches checks whether page already has RenderTheme not to create new
2818 RenderTheme for same page.
2820 * platform/efl/RenderThemeEfl.cpp:
2821 (WebCore::RenderTheme::themeForPage):
2823 2012-09-23 Keishi Hattori <keishi@webkit.org>
2825 Add suggestionPicker to CalendarPicker
2826 https://bugs.webkit.org/show_bug.cgi?id=97201
2828 Reviewed by Kent Tamura.
2830 This adds the suggestionPicker to CalendarPicker. It is not available yet as a datalist UI but it can be used inside ManualTests/forms/calendar-picker.html.
2832 No new tests. Suggestion Picker can be tested in ManualTests/forms/calendar-picker.html.
2834 * Resources/pagepopups/calendarPicker.js:
2836 (openSuggestionPicker):
2837 * Resources/pagepopups/pickerCommon.js:
2838 (enclosingNodeOrSelfWithClass):
2839 * Resources/pagepopups/suggestionPicker.css: Added.
2841 (.suggestion-list-entry):
2842 (.suggestion-list-entry:focus):
2843 (.suggestion-list-entry:focus .label):
2844 (.suggestion-list-entry .content):
2845 (.suggestion-list-entry .title):
2846 (.suggestion-list-entry .label):
2847 (.measuring-width .suggestion-list-entry .label):
2848 (.suggestion-list .separator):
2849 * Resources/pagepopups/suggestionPicker.js: Added.
2851 (SuggestionPicker.validateConfig):
2852 (SuggestionPicker.prototype.cleanup):
2853 (SuggestionPicker.prototype._setColors): Creates css rules that sets highlight colors.
2854 (SuggestionPicker.prototype._createSuggestionEntryElement): Creates an entry that when selected submits the value.
2855 (SuggestionPicker.prototype._createActionEntryElement): Creates an entry that causes an action. (e.x. "Other...")
2856 (SuggestionPicker.prototype._measureMaxContentWidth): Temporarily left align everything to measure the width.
2857 (SuggestionPicker.prototype._fixWindowSize):
2858 (SuggestionPicker.prototype._layout):
2859 (SuggestionPicker.prototype.selectEntry):
2860 (SuggestionPicker.prototype._handleEntryClick):
2861 (SuggestionPicker.prototype._findFirstVisibleEntry):
2862 (SuggestionPicker.prototype._findLastVisibleEntry):
2863 (SuggestionPicker.prototype._handleBodyKeyDown):
2864 (SuggestionPicker.prototype._handleEntryMouseOver):
2865 (SuggestionPicker.prototype._handleMouseOut):
2866 * WebCore.gyp/WebCore.gyp:
2868 2012-09-23 Andreas Kling <kling@webkit.org>
2870 REGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
2871 <http://webkit.org/b/97423>
2873 Reviewed by Anders Carlsson.
2875 r128239 added a WTF::deleteOwnedPtr() override for ElementAttributeData*, but ElementAttributeData is
2876 a ref-counted object. Fixed this by overriding deref() instead to call the appropriate subclass destructor.
2878 * dom/ElementAttributeData.h:
2879 (WebCore::ElementAttributeData::deref):
2881 2012-09-23 Byungwoo Lee <bw80.lee@gmail.com>
2883 Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
2884 https://bugs.webkit.org/show_bug.cgi?id=97306
2886 Reviewed by Benjamin Poulain.
2888 Fix build warning about -Wunused-parameter on ImageBufferCairo.cpp,
2889 ImageDecoder.h by using ASSERT_UNUSED() macro.
2891 * platform/graphics/cairo/ImageBufferCairo.cpp:
2892 (WebCore::encodeImage):
2893 * platform/image-decoders/ImageDecoder.h:
2894 (WebCore::ImageDecoder::rgbColorProfile):
2895 (WebCore::ImageDecoder::inputDeviceColorProfile):
2897 2012-09-23 Andreas Kling <kling@webkit.org>
2899 Enable ElementAttributeData sharing for non-HTML elements.
2900 <http://webkit.org/b/97413>
2902 Reviewed by Anders Carlsson.
2904 Use the whole qualified tag name when creating the ElementAttributeData cache key
2905 instead of just the localName(). This allows sharing and caching of attribute data
2906 for non-HTML elements and makes the code a little cleaner.
2909 (WebCore::Element::parserSetAttributes):
2911 Enable the ElementAttributeData sharing path for non-HTML elements.
2913 * dom/ElementAttributeData.h:
2915 Make immutableAttributeArray() public so Document can call it instead of getting
2916 the raw data address from a const_cast'ed attributeItem(0).
2919 (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
2920 (WebCore::ImmutableAttributeDataCacheKey::operator!=):
2921 (WebCore::ImmutableAttributeDataCacheKey::hash):
2922 (ImmutableAttributeDataCacheKey):
2923 (WebCore::ImmutableAttributeDataCacheEntry::ImmutableAttributeDataCacheEntry):
2924 (ImmutableAttributeDataCacheEntry):
2925 (WebCore::Document::cachedImmutableAttributeData):
2927 Let the immutable attribute data cache use a QualifiedName/attributes key
2928 instead of the AtomicString/attributes we were using before. We still grab the
2929 existingHash() from the QualifiedName::localName() and use that for the actual
2932 2012-09-23 Mike West <mkwst@chromium.org>
2934 Measure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix completely.
2935 https://bugs.webkit.org/show_bug.cgi?id=97408
2937 Reviewed by Adam Barth.
2939 We plan on landing the unprefixed header in webkit.org/b/96765 once the
2940 spec moves to CR. Though we plan to use it for experimentation in the
2941 near future, we'll want to drop the prefixed header completely at some
2942 point in the future. Starting to measure its usage now will give us a
2943 good baseline when we start contemplating that decision.
2945 No new functionality, so no new tests.
2947 * page/ContentSecurityPolicy.cpp:
2948 (WebCore::ContentSecurityPolicy::didReceiveHeader):
2949 * page/FeatureObserver.h:
2951 2012-09-22 Dominic Mazzoni <dmazzoni@google.com>
2953 AX: Layout tests would be easier to write if AccessibilityController could find an element by id
2954 https://bugs.webkit.org/show_bug.cgi?id=97301
2956 Reviewed by Chris Fleizach.
2958 Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.
2960 Makes existing test more cross-platform:
2961 Tests: accessibility/aria-hidden-with-elements.html
2963 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2964 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2966 2012-09-22 Thierry Reding <thierry.reding@avionic-design.de>
2968 [GTK] Build is broken with GLib Unicode backend
2969 https://bugs.webkit.org/show_bug.cgi?id=97308.
2971 Reviewed by Carlos Garcia Campos.
2973 The TextBreakIteratorGtk implementation uses ubrk_close() to delete
2974 the iterator. However that function is ICU specific and not declared
2975 when using the GLib backend. Instead the iterator can simply be freed
2976 using the delete operator.
2978 This commit is based on work by Martin Schlemmer who posted a fix for
2981 http://permalink.gmane.org/gmane.os.opendarwin.webkit.gtk/1210
2985 * platform/text/gtk/TextBreakIteratorGtk.cpp:
2986 (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
2987 Free iterator using delete instead of ubrk_close().
2989 2012-09-21 Ami Fischman <fischman@chromium.org>
2991 HTMLMediaElement isn't garbage collected between document reloads
2992 https://bugs.webkit.org/show_bug.cgi?id=97020
2994 Reviewed by Eric Carlson.
2996 JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
2997 appear to always hasPendingActivity(), because m_playing is never set to false.
2999 Manual test added: ManualTests/audio-freed-during-reload.html
3001 * html/HTMLMediaElement.cpp:
3002 (WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.
3004 2012-09-21 Simon Fraser <simon.fraser@apple.com>
3006 RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
3007 https://bugs.webkit.org/show_bug.cgi?id=92464
3009 Reviewed by Sam Weinig.
3011 Marquees could cause an updateCompositingLayersAfterScroll() to be called when
3012 we're in the middle of updating layer positions. updateCompositingLayersAfterScroll()
3013 does a full RenderLayer tree walk, but its use of RenderGeomeryMap reveals that
3014 it's using layers whose positions haven't been updated yet.
3016 Fix by avoiding the updateCompositingLayersAfterScroll() if we're in the process
3017 of updating a marquee when updating layer positions. We'll do a compositing update
3020 Tested by fast/events/tabindex-focus-blur-all.html
3022 * rendering/RenderLayer.cpp:
3023 (WebCore::RenderLayer::RenderLayer):
3024 (WebCore::RenderLayer::updateLayerPositions):
3025 (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
3026 (WebCore::RenderLayer::scrollTo):
3027 * rendering/RenderLayer.h:
3030 2012-09-21 Adam Klein <adamk@chromium.org>
3032 Remove bogus assertions from ChildListMutationScope
3033 https://bugs.webkit.org/show_bug.cgi?id=97372
3035 Reviewed by Ryosuke Niwa.
3037 Some asserts (and their accompanying comment) were trying to enforce
3038 proper usage of ChildListMutationScope from WebCore, but in the
3039 presence of MutationEvents they could fail due to arbitrary script
3042 This change gets rid of those asserts and adds tests exercising
3043 the (pre-existing) codepaths for handling these out-of-order cases.
3044 Without this patch, these tests ASSERT in debug builds.
3046 Tests: fast/mutation/added-out-of-order.html
3047 fast/mutation/removed-out-of-order.html
3049 * dom/ChildListMutationScope.cpp:
3050 (WebCore::ChildListMutationAccumulator::childAdded):
3051 (WebCore::ChildListMutationAccumulator::willRemoveChild):
3052 * dom/ChildListMutationScope.h:
3055 2012-09-21 Dan Bernstein <mitz@apple.com>
3057 REGRESSION (r129176): Incorrect line breaking when kerning occurs between a space and the following character
3058 https://bugs.webkit.org/show_bug.cgi?id=97377
3060 Reviewed by Enrica Casucci.
3062 Test: fast/text/kerning-with-TextLayout.html
3064 When kerning is enabled, the last character in a word may have its advance shortened because
3065 of its trailing space. To account for that, words are measured along with the trailing space,
3066 then the width of a space is subtracted from the result. This doesn’t work when the trailing
3067 space itself has its advance shortened due to the character following it, which can happen
3068 when using the TextLayout optimization. However, when the optimization is used, the advance
3069 of the last character of the word is already adjusted for the trailing space, so there is no
3070 need to measure with that space and subtract its advance.
3072 * rendering/RenderBlockLineLayout.cpp:
3073 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to not use the trailingSpaceWidth
3074 mechanism when TextLayout is being used.
3076 2012-09-21 Adam Klein <adamk@chromium.org>
3078 Simplify and optimize ChildListMutationScope
3079 https://bugs.webkit.org/show_bug.cgi?id=97352
3081 Reviewed by Ryosuke Niwa.
3083 ChildListMutationScope is one of the most complicated bits of
3084 MutationObserver implementation. This patch aims to simplify it for
3085 clarity and improve its performance (mostly by just doing less).
3087 The big change is to remove the MutationAccumulatorRouter class,
3088 replacing it with lifetime-management logic in ChildListMutationAccumulator
3089 ChildListMutationScope is expected to call getOrCreate() in
3090 its constructor, and each scope holds a RefPtr to the accumulator.
3091 When the last scope holding such a RefPtr is destroyed,
3092 ChildListMutationAccumulator's destructor enqueues the accumulated record.
3094 This greatly reduces the number of lines of code, and condenses
3095 two HashMaps into one. It also reduces hash lookups, which now
3096 occur only on scope creation and when the refcount for a given
3097 accumulator reaches 0 (previously, each childAdded and willRemoveChild
3098 call could result in two hash lookups each).
3100 There are some minor changes as well: the ChildListMutationAccumulator::clear()
3101 method is gone, as it was doing more work than necessary;
3102 DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
3103 code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
3104 always points at a Node that's already being ref'd by the accumulator.
3105 Also various minor syntactic cleanups.
3107 No new tests, no change in behavior.
3109 * dom/ChildListMutationScope.cpp:
3110 (WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
3111 (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
3112 (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
3113 remove itself from the map.
3114 (WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
3115 (WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
3116 (WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
3117 (WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
3118 (WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
3119 since it's the only bit not cleared by the MutationRecord creation call. Also remove
3120 isEmpty check and replace with asserts now that it's a private method.
3121 (WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
3122 * dom/ChildListMutationScope.h:
3124 (ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
3125 (WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
3126 (WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
3127 (WebCore::ChildListMutationScope::childAdded): ditto
3128 (WebCore::ChildListMutationScope::willRemoveChild): ditto
3129 (ChildListMutationScope):
3130 * html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.
3132 2012-09-21 Chris Rogers <crogers@google.com>
3134 BiquadFilterNode must take audio-rate parameter changes into account
3135 https://bugs.webkit.org/show_bug.cgi?id=97369
3137 Reviewed by Kenneth Russell.
3139 BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
3140 We now check if any of its parameters have timeline or audio-rate changes and, if so, take
3141 them into account. Otherwise, we use ordinary parameter smoothing/de-zippering which is
3142 the case when the parameters are adjusted, for example, from a knob or slider in the UI.
3144 * Modules/webaudio/BiquadDSPKernel.cpp:
3145 (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
3146 * Modules/webaudio/BiquadProcessor.cpp:
3147 (WebCore::BiquadProcessor::checkForDirtyCoefficients):
3148 * Modules/webaudio/BiquadProcessor.h:
3149 (WebCore::BiquadProcessor::hasSampleAccurateValues):
3152 2012-09-21 Brandon Jones <bajones@google.com>
3154 Add support for OES_vertex_array_object in chromium
3155 https://bugs.webkit.org/show_bug.cgi?id=96578
3157 Reviewed by Kenneth Russell.
3159 Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
3160 for the OES_vertex_array_object extension. Added code to allow calls to the
3161 OES_vertex_array_object extension to interface properly with the chromium WebGL
3164 Test: fast/canvas/webgl/oes-vertex-array-object.html
3166 * html/canvas/WebGLRenderingContext.cpp:
3168 (WebCore::WebGLRenderingContext::deleteBuffer):
3169 (WebCore::WebGLRenderingContext::vertexAttribPointer):
3170 * html/canvas/WebGLVertexArrayObjectOES.cpp:
3171 (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
3173 * html/canvas/WebGLVertexArrayObjectOES.h:
3174 (WebGLVertexArrayObjectOES):
3175 (WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
3176 * platform/chromium/support/Extensions3DChromium.cpp:
3177 (WebCore::Extensions3DChromium::createVertexArrayOES):
3178 (WebCore::Extensions3DChromium::deleteVertexArrayOES):
3179 (WebCore::Extensions3DChromium::isVertexArrayOES):
3180 (WebCore::Extensions3DChromium::bindVertexArrayOES):
3182 2012-09-21 Kenichi Ishibashi <bashi@chromium.org>
3184 [Chromium] Use OpenTypeVerticalData on Linux
3185 https://bugs.webkit.org/show_bug.cgi?id=97277
3187 Reviewed by Tony Chang.
3189 Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.
3191 No new tests. Rebaselined existing tests.
3193 * WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android.
3194 * platform/graphics/FontCache.cpp:
3195 Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy.
3197 * platform/graphics/SimpleFontData.h:
3198 (SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings.
3199 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
3201 (WebCore::FontPlatformData::verticalData): Added.
3202 (WebCore::FontPlatformData::openTypeTable): Added.
3203 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
3206 * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs().
3207 (WebCore::GlyphPage::fill):
3209 2012-09-21 Jeremy Apthorp <jeremya@chromium.org>
3211 Crash in WebCore::Document::fullScreenChangeDelayTimerFired
3212 https://bugs.webkit.org/show_bug.cgi?id=97367
3214 Reviewed by Abhishek Arya.
3216 The document could be destroyed during the processing of the
3217 fullscreenchange event, if the document was destroyed as a result of
3218 one of the dispatchEvent calls.
3220 This bug isn't reliably reproducible, so no new tests.
3223 (WebCore::Document::fullScreenChangeDelayTimerFired):
3225 2012-09-21 Pratik Solanki <psolanki@apple.com>
3227 No need to pass order file for WebCoreTestSupport build
3228 https://bugs.webkit.org/show_bug.cgi?id=97363
3230 Reviewed by David Kilzer.
3232 No new tests because no functional change.
3234 * Configurations/WebCoreTestSupport.xcconfig:
3236 2012-09-21 Chris Rogers <crogers@google.com>
3238 Add Web Audio support for deprecated/legacy APIs
3239 https://bugs.webkit.org/show_bug.cgi?id=97050
3241 Reviewed by Eric Carlson.
3243 The Web Audio API specification has undergone much review and some small API changes
3244 have been made (mostly naming-related changes). This patch adds an ENABLE_LEGACY_WEB_AUDIO
3245 build option to allow ports to support the old names.
3248 audiobuffersource-playbackrate.html
3249 audiobuffersource.html
3250 note-grain-on-testing.js
3251 oscillator-testing.js
3253 * Configurations/FeatureDefines.xcconfig:
3254 * GNUmakefile.features.am:
3255 * Modules/webaudio/AudioBufferSourceNode.cpp:
3256 (WebCore::AudioBufferSourceNode::startGrain):
3258 (WebCore::AudioBufferSourceNode::noteGrainOn):
3259 * Modules/webaudio/AudioBufferSourceNode.h:
3260 (AudioBufferSourceNode):
3261 * Modules/webaudio/AudioBufferSourceNode.idl:
3262 * Modules/webaudio/AudioScheduledSourceNode.cpp:
3263 (WebCore::AudioScheduledSourceNode::start):
3264 (WebCore::AudioScheduledSourceNode::stop):
3266 (WebCore::AudioScheduledSourceNode::noteOn):
3267 (WebCore::AudioScheduledSourceNode::noteOff):
3268 * Modules/webaudio/AudioScheduledSourceNode.h:
3269 * Modules/webaudio/Oscillator.idl:
3270 * page/FeatureObserver.h:
3272 2012-09-21 Mark Pilgrim <pilgrim@chromium.org>
3274 [Chromium] remove getFontFamilyForCharacters from PlatformSupport
3275 https://bugs.webkit.org/show_bug.cgi?id=96282
3277 Reviewed by Tony Chang.
3279 Migrating away from PlatformSupport. getFontFamilyForCharacters is
3280 moved to FontCache.h and overridden by the two platforms that
3281 need it (Chromium Linux and Blackberry). New files for the overrides.
3282 Part of a larger refactoring series. See tracking bug 82948.
3284 * PlatformBlackBerry.cmake:
3286 * platform/chromium/PlatformSupport.h:
3288 * platform/graphics/FontCache.h:
3291 * platform/graphics/blackberry/FontCacheBlackberry.cpp: Added.
3293 (WebCore::FontCache::getFontFamilyForCharacters):
3294 * platform/graphics/blackberry/skia/PlatformSupport.cpp:
3296 * platform/graphics/blackberry/skia/PlatformSupport.h:
3298 * platform/graphics/chromium/FontCacheAndroid.cpp:
3299 (WebCore::FontCache::getFontDataForCharacters):
3300 * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added.
3302 (WebCore::FontCache::getFontFamilyForCharacters):
3303 * platform/graphics/skia/FontCacheSkia.cpp:
3304 (WebCore::FontCache::getFontDataForCharacters):
3306 2012-09-21 Chris Fleizach <cfleizach@apple.com>
3308 AX: WebKit exposes incorrect bounds for embedded SVG in HTML
3309 https://bugs.webkit.org/show_bug.cgi?id=96168
3311 Reviewed by Eric Seidel.
3313 Override absoluteFocusRingQuads() for SVG objects because the default
3314 implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG
3315 objects adds local positions for its rects instead of absolute positions.
3317 Test: accessibility/svg-bounds.html
3319 * rendering/RenderObject.h:
3321 * rendering/svg/RenderSVGModelObject.cpp:
3323 (WebCore::RenderSVGModelObject::absoluteFocusRingQuads):
3324 * rendering/svg/RenderSVGModelObject.h:
3325 (RenderSVGModelObject):
3327 2012-09-21 Lianghui Chen <liachen@rim.com>
3329 [BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
3330 https://bugs.webkit.org/show_bug.cgi?id=97348
3331 Internal PR: 186597.
3333 Internally reviewed by Yong Li, Joe Mason.
3334 Reviewed by Yong Li.
3336 Add a singleton AuthenticationChallengeManager to manage authentication
3337 challenge dialog. It does following things:
3338 Record page creation/deletion, so it knows what page is present or not.
3339 Record page visibility change so it knows when to display a dialog or not.
3340 Accept authentication challenge, and decide whether to postpone the
3341 challenge dialog based on whether there is active authentication challenge
3342 dialog already and whether its page is visible or not.
3343 When a challenge result comes back, notify the result to all clients
3344 authenticating for the same protection space, and then start the next
3345 authentication challenge from the same page, if there is one.
3346 When a page becomes visible, start the first authentication challenge
3347 dialog that has been blocked before.
3349 And to support this new AuthenticationChallengeManager, and making the
3350 challenge really asynchronous, NetworkJob has been updated to support
3351 the concept of "freeze", which means buffering all network loading status
3352 change but don't send them to NetworkJob clients.
3353 This is necessary when authentication challenge is asynchronous, as the
3354 previous network loading status will likely come before user make any
3357 No new tests for platform specific internal change.
3359 * PlatformBlackBerry.cmake:
3360 * platform/blackberry/AuthenticationChallengeManager.cpp: Added.
3363 (WebCore::ChallengeInfo::ChallengeInfo):
3364 (AuthenticationChallengeManagerPrivate):
3365 (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate):
3366 (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge):
3367 (WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge):
3368 (WebCore::AuthenticationChallengeManagerPrivate::pageExists):
3369 (WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager):
3370 (WebCore::AuthenticationChallengeManager::pageCreated):
3371 (WebCore::AuthenticationChallengeManager::pageDeleted):
3372 (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
3373 (WebCore::AuthenticationChallengeManager::authenticationChallenge):
3374 (WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge):
3375 (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
3376 (WebCore::AuthenticationChallengeManager::instance):
3377 (WebCore::AuthenticationChallengeManager::init):
3378 * platform/blackberry/AuthenticationChallengeManager.h:
3380 (AuthenticationChallengeManager):
3381 * platform/blackberry/PageClientBlackBerry.h:
3382 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3383 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3384 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3385 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
3386 (WebCore::MediaPlayerPrivate::notifyChallengeResult):
3387 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
3388 (MediaPlayerPrivate):
3389 * platform/network/blackberry/NetworkJob.cpp:
3390 (WebCore::NetworkJob::NetworkJob):
3391 (WebCore::NetworkJob::~NetworkJob):
3393 (WebCore::NetworkJob::handleNotifyStatusReceived):
3394 (WebCore::NetworkJob::handleNotifyClose):
3395 (WebCore::NetworkJob::sendRequestWithCredentials):
3396 (WebCore::NetworkJob::notifyChallengeResult):
3397 * platform/network/blackberry/NetworkJob.h:
3400 2012-09-21 Simon Hausmann <simon.hausmann@digia.com>
3402 Unreviewed, rolling out r129248.
3403 http://trac.webkit.org/changeset/129248
3404 https://bugs.webkit.org/show_bug.cgi?id=96000
3409 * WebCore.vcproj/WebCore.vcproj:
3410 * rendering/RenderingAllInOne.cpp:
3412 2012-09-21 Simon Hausmann <simon.hausmann@nokia.com>
3414 Make RenderingAllInOne.cpp usable for ports other than Apple/Win
3415 https://bugs.webkit.org/show_bug.cgi?id=96000
3417 Reviewed by Ryosuke Niwa.
3419 RenderingAllInOne.cpp unconditionally includes RenderThemeWin. This patch separates
3420 it out from the file.
3422 * Target.pri: Add RenderingAllInOne.cpp to the list of supported all-in-one files.
3423 * WebCore.vcproj/WebCore.vcproj: Compile RenderThemeWin.cpp separately.
3424 * rendering/RenderingAllInOne.cpp: Don't include RenderThemeWin.cpp here.
3426 2012-09-21 Joanmarie Diggs <jdiggs@igalia.com>
3428 REGRESSION (r127882): accessibility/spinbutton-value.html failing on GTK
3429 https://bugs.webkit.org/show_bug.cgi?id=96196
3431 Reviewed by Martin Robinson.
3433 The "regression" is that a new test was added but the support was missing
3434 in the Gtk port for spin buttons.
3436 No new tests. Instead the new test which had been skipped was unskipped
3437 as part of this fix.
3439 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
3440 (atkRole): Map SpinButtonRole to ATK_ROLE_SPIN_BUTTON
3441 (getInterfaceMaskFromObject): Add SpinButtonRole to the roles implementing
3442 the AtkValue interface.
3444 2012-09-21 Joanmarie Diggs <jdiggs@igalia.com>
3446 [GTK] [Stable] Infinite recursion in WebCore::AXObjectCache::getOrCreate
3447 https://bugs.webkit.org/show_bug.cgi?id=96932
3449 Reviewed by Martin Robinson.
3451 Make the decision based on RenderObjects rather than AccessibilityObjects
3452 to avoid the infinite recursion which occurs when remapAriaRoleDueToParent
3455 Test: platform/gtk/accessibility/remapped-aria-crash.html
3457 * accessibility/gtk/AccessibilityObjectAtk.cpp:
3458 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3460 2012-09-21 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
3462 [BlackBerry] HTML5 media does not handle SSL certificate failures
3463 https://bugs.webkit.org/show_bug.cgi?id=93324
3465 Reviewed by Eric Carlson.
3468 Passed FrameLoaderClientBlackBerry's playerId to MMRPlayer::load()
3469 because MMRPlayer::load() added playerId as a new parameter, which
3470 is required to initiate a MediaSSLHandlerStream to deal with
3471 certificate failure when loading a "https" media url.
3473 Internally reviewed by Joe Mason <jmason@rim.com>.
3475 No new tests since there's no functional change.
3477 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3478 (WebCore::MediaPlayerPrivate::load):